//////////////////////////////////////////////////////////
// This class has been automatically generated on
// Wed Sep 14 12:40:42 2011 by ROOT version 5.26/00e
// from TTree physics/physics
// found on file: small.root
//////////////////////////////////////////////////////////

#ifndef physics_h
#define physics_h

#include "CommonHead.h"
#include <TROOT.h>
#include <TChain.h>
#include <TFile.h>
#include <TSelector.h>
#include "util.h"
#include "definitions.h"
#include "MV1.h"

#include "egammaPIDdefs.h"

#include "JetResolution/JetResolution/JERProvider.h"
#include "JetUncertainties/JetUncertainties/MultijetJESUncertaintyProvider.h"

#include "MuonMomentumCorrections/MuonMomentumCorrections/SmearingClass.h"
//#include "MuonEfficiencyCorrections/MuonEfficiencyCorrections/AnalysisMuonEfficiencyScaleFactors.h"
#include "MuonEfficiencyCorrections/MuonEfficiencyCorrections/AnalysisMuonConfigurableScaleFactors.h"

#include "PileupReweighting/PileupReweighting/TPileupReweighting.h"
#include "GoodRunsLists/GoodRunsLists/TGoodRunsListReader.h"
#include "GoodRunsLists/GoodRunsLists/TGoodRunsList.h"

#include "egammaAnalysisUtils/egammaAnalysisUtils/IsEMPlusPlusDefs.h"
#include "egammaAnalysisUtils/egammaAnalysisUtils/egammaSFclass.h"
#include "egammaAnalysisUtils/egammaAnalysisUtils/EnergyRescaler.h"
#include "egammaAnalysisUtils/egammaAnalysisUtils/CaloIsoCorrection.h"
#include "egammaAnalysisUtils/egammaAnalysisUtils/egammaTriggerMatching.h"

#include "CalibrationDataInterface/CalibrationDataInterface/CalibrationDataInterfaceROOT.h"
#include "CalibrationDataInterface/CalibrationDataInterface/CalibrationDataInterfaceBase.h"
#include "CalibrationDataInterface/scripts/CalibrationDataEigenVariations.h"

#include "MuonIsolationCorrection/MuonIsolationCorrection/CorrectCaloIso.h"

#include "MissingETUtility/MissingETUtility/METUtility.h"
#include "ApplyJetResolutionSmearing/ApplyJetResolutionSmearing/ApplyJetSmearing.h"

#include "TrigMuonEfficiency/TrigMuonEfficiency/LeptonTriggerSF.h"
//#include "TrigMuonEfficiency/TrigMuonEfficiency/MuonTriggerMatching.h"
//#include "TrigMuonEfficiency/TrigMuonEfficiency/ElectronTriggerMatching.h"
//#include "TrigMuonEfficiency/TrigMuonEfficiency/TriggerNavigationVariables.h"


class container{
        public:
                double pt;
                double pt_MS;
                double pt_ID;
                double pt_ori;
		double Et;
		double E;
		double Et_up;
		double Et_down;
		double Et_Rup;
		double Et_Rdown;
		bool trig_match;
		double eta;
		double phi;
                float charge;
                int index;
                TLorentzVector tlv;
                double sf;
                double sf_err;
                double sf_err_sta;
                double rec_sf;
                double rec_sf_err;
                double trigsf;
                double trigsf_e20;
                double trigsf_e22;
                double trigsf_e22vh;
                double trigsf_err;
		int author;
		float SumEt;
		float SumPt;
		float D0;
		float D0sig;
		float Z0;
		float Z0sig;
		float NBLayer;
		float NPixel;
		float NSCT;
		float NTRT;
		float pdgID;
		bool isTight;
		bool isMedium;
		bool isLoose;
		bool frwdLoose;
//for muon 
		float pxCorr;
		float pyCorr; 
		float NRPCEta;
		float NRPCPhi;
		bool IsLowPt; 
		float muon_sf;
		float muon_sf_Sta_err;
 		float muon_sf_Sys_err;
		float energy_loss;
		bool  not_overlap;
		float theta;
//for jet
		float jetProb;
		float jetSV0;
		float jetIP3D_SV1;
		float jetFitter;
		float jetCSIP;
                int jetbad;
		float jetsf;
		float jetsferr;
		float truth_label;
//for later selections including Studying pt smearing for jets/muons/electrons
	 	bool pass_looseptcut;	
	 	bool pass_tightptcut;	
		bool pass_tightcut; 
//for muon smear uncerntainty
		float Et_ms_up; 
		float Et_ms_down; 
		float Et_id_up; 
		float Et_id_down; 
                float EtMS_ms_up;
                float EtMS_ms_down;
                float EtMS_id_up;
                float EtMS_id_down;
                float EtID_ms_up;
                float EtID_ms_down;
                float EtID_id_up;
                float EtID_id_down;
                bool isCombine;
                bool isStandAlone;
                bool isCalo;

//for jet JES JER
		float JER_smear;
		float JER_smear_sys;
		float JES_uncert_up;
		float JES_uncert_down;
		float JES_uncert_npv;
		float JES_uncert_mu;
		float jet_Bsf;
		float jet_Bsferr;
		float jet_Bsf_0;
		float jet_Bsferr_0;
		float jet_Bsf_1;
		float jet_Bsferr_1;
		float jet_Bsf_2;
		float jet_Bsferr_2;
		float jet_Bsf_3;
		float jet_Bsferr_3;
		float jet_Bsf_4;
		float jet_Bsferr_4;
		float jet_jvf;

        inline bool operator > (const container & other) const
                {
                if (pt>other.pt)
                        {
                        return true;
                        }
                return false;
                }
        inline bool operator < (const container & other) const
                {
                if (pt<other.pt)
                        {
                        return true;
                        }
                return false;
                }
        };



using namespace std;
using namespace Root;
using namespace eg2011;
using namespace Analysis; 
class physics : public TSelector {
public :
   TTree          *fChain;   //!pointer to the analyzed TTree or TChain

         TFile* fFile;
         ofstream fOut;
         ofstream out;

TFile *file;
int count_number;
double count_muon_weight;
double count_elec_weight;
vector<double> count_check;
int run_number;

bool merge_channel;
  std::string curr_file;


         //correction Tools
         Root::TPileupReweighting* m_pileupTool;
         Root::TPileupReweighting* m_pileupTool_1;
         Root::TPileupReweighting* m_pileupTool_2;
         Root::TPileupReweighting* m_pileupTool_3;
         Root::TPileupReweighting* m_pileupTool_4;
         Root::TGoodRunsList grl_full;

         EnergyRescaler  eRescale;
         std::string part_type;
         egammaSFclass* egSF;

	 //Muon Trig matching tool
	 //TriggerNavigationVariables* triggerNavigationVariables; 

         //Muon Correction
         MuonSmear::SmearingClass* mcp_smear_staco;
         MuonSmear::SmearingClass* mcp_smear_muid;
         Analysis::AnalysisMuonConfigurableScaleFactors *m_MCPsf;

	 //Jet Smearing tool	
         JetSmearingTool *my_JetSmearing_NEW;

	 //Trig muon efficiency
         LeptonTriggerSF * m_leptonSF;	


//         SmearingClass* mcp_smear_staco;
//         SmearingClass* mcp_smear_muid;
//         Analysis::StacoCBScaleEffFactors*       stacoCBSF;
//         Analysis::MuidCBScaleEffFactors*       muidCBSF;
//         MuonEfficiencyScaleFactor*       muidEffSF;
	 	


   // Declaration of leaf types
   UInt_t          RunNumber;
   UInt_t          EventNumber;
   Float_t         averageIntPerXing;
   UInt_t          mc_channel_number;
   UInt_t          lbn;
   UInt_t          larError;
   Int_t           el_n;
   vector<float>   *el_E;
   vector<float>   *el_Et;
   vector<float>   *el_pt;
   vector<float>   *el_m;
   vector<float>   *el_eta;
   vector<float>   *el_CaloPointing_eta;
   vector<float>   *el_phi;
   vector<float>   *el_px;
   vector<float>   *el_py;
   vector<float>   *el_pz;
   vector<float>   *el_charge;
   vector<int>     *el_author;
   vector<unsigned int> *el_isEM;
   vector<unsigned int> *el_OQ;
//add for isem tight
   vector<float>   *el_Ethad;
   vector<float>   *el_Ethad1;
   vector<float>   *el_wstot;
   vector<float>   *el_deltaEs;
   vector<float>   *el_Emax2;
   vector<float>   *el_emaxs1;
   vector<float>   *el_deltaeta1;
   vector<float>   *el_deltaphi2;
   vector<float>   *el_f1;
   vector<float>   *el_f3;
   vector<float>   *el_trackqoverp;
   vector<float>   *el_trackd0_physics;
   vector<float>   *el_TRTHighTOutliersRatio;
   vector<int>     *el_nTRTOutliers;
   vector<int>     *el_nSCTOutliers;
   vector<int>     *el_nPixelOutliers;
   vector<int>     *el_nBLayerOutliers;
   vector<int>     *el_nSiHits;
//add for isem tight
   vector<int>     *el_convFlag;
   vector<int>     *el_isConv;
   vector<int>     *el_nConv;
   vector<int>     *el_nSingleTrackConv;
   vector<int>     *el_nDoubleTrackConv;
   vector<int>     *el_loose;
   vector<int>     *el_medium;
   vector<int>     *el_mediumIso;
   vector<int>     *el_tight;
   vector<int>     *el_tightIso;
   vector<int>     *el_loosePP;
   vector<int>     *el_mediumPP;
   vector<int>     *el_tightPP;
   vector<float>   *el_weta2;
   vector<float>   *el_Etcone45;
   vector<float>   *el_Etcone20;
   vector<float>   *el_Etcone30;
   vector<float>   *el_topoEtcone30;
   vector<float>   *el_Etcone40;
   vector<float>   *el_ptcone20;
   vector<float>   *el_ptcone30;
   vector<float>   *el_Etcone40_pt_corrected;
   vector<float>   *el_expectHitInBLayer;
   vector<float>   *el_reta;
   vector<float>   *el_etas2;
   vector<float>   *el_etap;
   vector<float>   *el_cl_E;
   vector<float>   *el_ED_median;
   vector<float>   *el_cl_pt;
   vector<float>   *el_cl_eta;
   vector<float>   *el_cl_phi;
   vector<float>   *el_trackd0;
   vector<float>   *el_trackz0;
   vector<float>   *el_trackphi;
   vector<float>   *el_tracktheta;
   vector<float>   *el_tracketa;
   vector<int>     *el_nBLHits;
   vector<int>     *el_nPixHits;
   vector<int>     *el_nSCTHits;
   vector<int>     *el_nTRTHits;
   vector<float>   *el_trackd0beam;
   vector<float>   *el_tracksigd0beam;
   vector<float>   *el_trackd0pv;
   vector<float>   *el_trackz0pv;
   vector<float>   *el_tracksigd0pv;
   vector<float>   *el_tracksigz0pv;
   vector<float>   *el_trackd0pvunbiased;
   vector<float>   *el_trackz0pvunbiased;
   vector<float>   *el_tracksigd0pvunbiased;
   vector<float>   *el_tracksigz0pvunbiased;
   vector<int>     *el_hastrack;
   vector<int>     *mu_hastrack;
   Bool_t          EF_e20_medium;
   Bool_t          EF_e24vhi_medium1;
   Bool_t          EF_e60_medium1;
   Bool_t          EF_e22_medium;
   Bool_t          EF_e22vh_medium1;
   Bool_t          EF_e45_medium1;
   Bool_t          EF_e10_medium;
   vector<int>     *trig_EF_el_EF_e24vhi_medium1;
   vector<int>     *trig_EF_el_EF_e60_medium1;
   Int_t           trig_EF_el_n;
   vector<float>   *trig_EF_el_eta;
   vector<float>   *trig_EF_el_phi;
   Bool_t          EF_mu18;
   Bool_t          EF_mu18_MG;
   Bool_t          EF_mu18_MG_medium;
   Bool_t          EF_mu24i_tight;
   Bool_t          EF_mu36_tight;
   Bool_t          EF_mu40_MSonly_barrel;
   Bool_t          EF_mu20;
   Bool_t          EF_mu22_MG;
   Bool_t          EF_xe80T_tclcw_loose;
   Bool_t          EF_xe80_tclcw_loose;

   Int_t           mu_muid_n;
   vector<float>   *mu_muid_E;
   vector<float>   *mu_muid_pt;
   vector<float>   *mu_muid_m;
   vector<float>   *mu_muid_eta;
   vector<float>   *mu_muid_phi;
   vector<float>   *mu_muid_px;
   vector<float>   *mu_muid_py;
   vector<float>   *mu_muid_pz;
   vector<float>   *mu_muid_charge;
   vector<unsigned short> *mu_muid_allauthor;
   vector<int>     *mu_muid_author;
   vector<float>   *mu_muid_matchchi2;
   vector<int>     *mu_muid_matchndof;
   vector<float>   *mu_muid_etcone20;
   vector<float>   *mu_muid_etcone30;
   vector<float>   *mu_muid_etcone40;
   vector<float>   *mu_muid_nucone20;
   vector<float>   *mu_muid_nucone30;
   vector<float>   *mu_muid_nucone40;
   vector<float>   *mu_muid_ptcone20;
   vector<float>   *mu_muid_ptcone30;
   vector<float>   *mu_muid_ptcone40;
   vector<float>   *mu_muid_energyLossPar;
   vector<float>   *mu_muid_energyLossErr;
   vector<int>     *mu_muid_bestMatch;
   vector<int>     *mu_muid_isStandAloneMuon;
   vector<int>     *mu_muid_isSiliconAssociatedForwardMuon;
   vector<int>     *mu_muid_isCombinedMuon;
   vector<int>     *mu_muid_isLowPtReconstructedMuon;
   vector<int>     *mu_muid_loose;
   vector<int>     *mu_muid_medium;
   vector<int>     *mu_muid_tight;
   vector<float>   *mu_muid_d0_exPV;
   vector<float>   *mu_muid_z0_exPV;
   vector<float>   *mu_muid_trackd0pvunbiased;
   vector<float>   *mu_muid_trackz0pvunbiased;
   vector<float>   *mu_muid_phi_exPV;
   vector<float>   *mu_muid_theta_exPV;
   vector<float>   *mu_muid_ms_d0;
   vector<float>   *mu_muid_ms_z0;
   vector<float>   *mu_muid_ms_phi;
   vector<float>   *mu_muid_ms_theta;
   vector<float>   *mu_muid_ms_qoverp;
   vector<float>   *mu_muid_id_d0;
   vector<float>   *mu_muid_id_z0;
   vector<float>   *mu_muid_id_phi;
   vector<float>   *mu_muid_id_theta;
   vector<float>   *mu_muid_id_qoverp;
   vector<float>   *mu_muid_me_d0;
   vector<float>   *mu_muid_me_z0;
   vector<float>   *mu_muid_me_phi;
   vector<float>   *mu_muid_me_theta;
   vector<float>   *mu_muid_me_theta_exPV;
   vector<float>   *mu_muid_me_qoverp;
   vector<float>   *mu_muid_me_qoverp_exPV;
   vector<float>   *mu_muid_ie_d0;
   vector<float>   *mu_muid_ie_z0;
   vector<float>   *mu_muid_ie_phi;
   vector<float>   *mu_muid_ie_theta;
   vector<float>   *mu_muid_ie_theta_exPV;
   vector<float>   *mu_muid_ie_qoverp;
   vector<float>   *mu_muid_ie_qoverp_exPV;
   vector<int>     *mu_muid_nOutliersOnTrack;
   vector<int>     *mu_muid_nBLHits;
   vector<int>     *mu_muid_nPixHits;
   vector<int>     *mu_muid_nSCTHits;
   vector<int>     *mu_muid_nTRTHits;
   vector<int>     *mu_muid_nTRTHighTHits;
   vector<int>     *mu_muid_nBLSharedHits;
   vector<int>     *mu_muid_nPixSharedHits;
   vector<int>     *mu_muid_nPixHoles;
   vector<int>     *mu_muid_nSCTSharedHits;
   vector<int>     *mu_muid_nSCTHoles;
   vector<int>     *mu_muid_nTRTOutliers;
   vector<int>     *mu_muid_nTRTHighTOutliers;
   vector<int>     *mu_muid_nGangedPixels;
   vector<int>     *mu_muid_nPixelDeadSensors;
   vector<int>     *mu_muid_nSCTDeadSensors;
   vector<int>     *mu_muid_nTRTDeadStraws;
   vector<int>     *mu_muid_expectBLayerHit;
   vector<int>     *mu_muid_nMDTHits;
   vector<int>     *mu_muid_nMDTHoles;
   vector<int>     *mu_muid_nCSCEtaHits;
   vector<int>     *mu_muid_nCSCEtaHoles;
   vector<int>     *mu_muid_nCSCPhiHits;
   vector<int>     *mu_muid_nCSCPhiHoles;
   vector<int>     *mu_muid_nRPCEtaHits;
   vector<int>     *mu_muid_nRPCEtaHoles;
   vector<int>     *mu_muid_nRPCPhiHits;
   vector<int>     *mu_muid_nRPCPhiHoles;
   vector<int>     *mu_muid_nTGCEtaHits;
   vector<int>     *mu_muid_nTGCEtaHoles;
   vector<int>     *mu_muid_nTGCPhiHits;
   vector<int>     *mu_muid_nTGCPhiHoles;
   vector<float>   *mu_muid_trackd0;
   vector<float>   *mu_muid_trackz0;
   vector<float>   *mu_muid_trackfitchi2;
   vector<int>     *mu_muid_trackfitndof;
   vector<int>     *mu_muid_hastrack;
   Int_t           mu_calo_n;
   vector<float>   *mu_calo_E;
   vector<float>   *mu_calo_pt;
   vector<float>   *mu_calo_m;
   vector<float>   *mu_calo_eta;
   vector<float>   *mu_calo_phi;
   vector<float>   *mu_calo_px;
   vector<float>   *mu_calo_py;
   vector<float>   *mu_calo_pz;
   vector<float>   *mu_calo_charge;
   vector<unsigned short> *mu_calo_allauthor;
   vector<int>     *mu_calo_author;
   vector<float>   *mu_calo_isMuonLikelihood;
   vector<float>   *mu_calo_etcone20;
   vector<float>   *mu_calo_etcone30;
   vector<float>   *mu_calo_etcone40;
   vector<float>   *mu_calo_nucone20;
   vector<float>   *mu_calo_nucone30;
   vector<float>   *mu_calo_nucone40;
   vector<float>   *mu_calo_ptcone20;
   vector<float>   *mu_calo_ptcone30;
   vector<float>   *mu_calo_ptcone40;
   vector<float>   *mu_calo_etconeNoEm10;
   vector<float>   *mu_calo_etconeNoEm20;
   vector<float>   *mu_calo_etconeNoEm30;
   vector<float>   *mu_calo_etconeNoEm40;
   vector<float>   *mu_calo_scatteringCurvatureSignificance;
   vector<float>   *mu_calo_scatteringNeighbourSignificance;
   vector<float>   *mu_calo_momentumBalanceSignificance;
   vector<float>   *mu_calo_energyLossPar;
   vector<float>   *mu_calo_energyLossErr;
   vector<float>   *mu_calo_etCore;
   vector<float>   *mu_calo_energyLossType;
   vector<unsigned short> *mu_calo_caloMuonIdTag;
   vector<double>  *mu_calo_caloLRLikelihood;
   vector<int>     *mu_calo_loose;
   vector<int>     *mu_calo_medium;
   vector<int>     *mu_calo_tight;
   vector<int>     *mu_calo_nOutliersOnTrack;
   vector<int>     *mu_calo_nBLHits;
   vector<int>     *mu_calo_nPixHits;
   vector<int>     *mu_calo_nSCTHits;
   vector<int>     *mu_calo_nTRTHits;
   vector<int>     *mu_calo_nTRTHighTHits;
   vector<int>     *mu_calo_nBLSharedHits;
   vector<int>     *mu_calo_nPixSharedHits;
   vector<int>     *mu_calo_nPixHoles;
   vector<int>     *mu_calo_nSCTSharedHits;
   vector<int>     *mu_calo_nSCTHoles;
   vector<int>     *mu_calo_nTRTOutliers;
   vector<int>     *mu_calo_nTRTHighTOutliers;
   vector<int>     *mu_calo_nGangedPixels;
   vector<int>     *mu_calo_nPixelDeadSensors;
   vector<int>     *mu_calo_nSCTDeadSensors;
   vector<int>     *mu_calo_nTRTDeadStraws;
   vector<int>     *mu_calo_expectBLayerHit;
   vector<int>     *mu_calo_nMDTHits;
   vector<int>     *mu_calo_nMDTHoles;
   vector<int>     *mu_calo_nCSCEtaHits;
   vector<int>     *mu_calo_nCSCEtaHoles;
   vector<int>     *mu_calo_nCSCUnspoiledEtaHits;
   vector<int>     *mu_calo_nCSCPhiHits;
   vector<int>     *mu_calo_nCSCPhiHoles;
   vector<int>     *mu_calo_nRPCEtaHits;
   vector<int>     *mu_calo_nRPCEtaHoles;
   vector<int>     *mu_calo_nRPCPhiHits;
   vector<int>     *mu_calo_nRPCPhiHoles;
   vector<int>     *mu_calo_nTGCEtaHits;
   vector<int>     *mu_calo_nTGCEtaHoles;
   vector<int>     *mu_calo_nTGCPhiHits;
   vector<int>     *mu_calo_nTGCPhiHoles;
   vector<int>     *mu_calo_hastrack;
   vector<float>   *mu_calo_truth_dr;
   vector<float>   *mu_calo_truth_E;
   vector<float>   *mu_calo_truth_pt;
   vector<float>   *mu_calo_truth_eta;
   vector<float>   *mu_calo_truth_phi;
   vector<int>     *mu_calo_truth_type;
   vector<int>     *mu_calo_truth_status;
   vector<int>     *mu_calo_truth_barcode;
   vector<int>     *mu_calo_truth_mothertype;
   vector<int>     *mu_calo_truth_motherbarcode;
   vector<int>     *mu_calo_truth_matched;
   Int_t           jet_AntiKt4TopoEM_n;
   vector<float>   *jet_AntiKt4TopoEM_E;
   vector<float>   *jet_AntiKt4TopoEM_pt;
   vector<float>   *jet_AntiKt4TopoEM_m;
   vector<float>   *jet_AntiKt4TopoEM_eta;
   vector<float>   *jet_AntiKt4TopoEM_phi;
   vector<float>   *jet_AntiKt4TopoEM_EtaOrigin;
   vector<float>   *jet_AntiKt4TopoEM_PhiOrigin;
   vector<float>   *jet_AntiKt4TopoEM_MOrigin;
   vector<float>   *jet_AntiKt4TopoEM_EtaOriginEM;
   vector<float>   *jet_AntiKt4TopoEM_PhiOriginEM;
   vector<float>   *jet_AntiKt4TopoEM_MOriginEM;
   vector<float>   *jet_AntiKt4TopoEM_WIDTH;
   vector<float>   *jet_AntiKt4TopoEM_n90;
   vector<float>   *jet_AntiKt4TopoEM_Timing;
   vector<float>   *jet_AntiKt4TopoEM_LArQuality;
   vector<float>   *jet_AntiKt4TopoEM_sumPtTrk;
   vector<float>   *jet_AntiKt4TopoEM_HECQuality;
   vector<float>   *jet_AntiKt4TopoEM_NegativeE;
   vector<float>   *jet_AntiKt4TopoEM_AverageLArQF;
   vector<int>     *jet_AntiKt4TopoEM_SamplingMax;
   vector<float>   *jet_AntiKt4TopoEM_fracSamplingMax;
   vector<float>   *jet_AntiKt4TopoEM_hecf;
   vector<int>     *jet_AntiKt4TopoEM_isUgly;
   vector<int>     *jet_AntiKt4TopoEM_isBadLoose;
   vector<int>     *jet_AntiKt4TopoEM_isBadMedium;
   vector<int>     *jet_AntiKt4TopoEM_isBadTight;
   vector<float>   *jet_AntiKt4TopoEM_emfrac;
   vector<float>   *jet_AntiKt4TopoEM_EMJES;
   vector<float>   *jet_AntiKt4TopoEM_GCWJES;
   vector<float>   *jet_AntiKt4TopoEM_emscale_E;
   vector<float>   *jet_AntiKt4TopoEM_emscale_pt;
   vector<float>   *jet_AntiKt4TopoEM_emscale_m;
   vector<float>   *jet_AntiKt4TopoEM_emscale_eta;
   vector<float>   *jet_AntiKt4TopoEM_emscale_phi;
   vector<float>   *jet_AntiKt4TopoEM_jvtxf;
   vector<float>   *jet_AntiKt4TopoEM_jvtx_x;
   vector<float>   *jet_AntiKt4TopoEM_jvtx_y;
   vector<float>   *jet_AntiKt4TopoEM_jvtx_z;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_Comb;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_IP3D;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_SV0;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_SV1;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_MV1;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_JetProb;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_TrackCounting2D;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_SoftMuonTag;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_SoftElectronTag;
   vector<float>   *jet_AntiKt4TopoEM_flavor_weight_JetFitterCOMBNN;
   vector<int>     *jet_AntiKt4TopoEM_flavor_truth_label;
   vector<unsigned int> *trig_L1_TAV;

//For met systematics softjets cellout

   Int_t   jet_AntiKt4LCTopo_n;
   vector<float>   *jet_AntiKt4LCTopo_E;
   vector<float>   *jet_AntiKt4LCTopo_pt;
   vector<float>   *jet_AntiKt4LCTopo_m;
   vector<float>   *jet_AntiKt4LCTopo_eta;
   vector<float>   *jet_AntiKt4LCTopo_phi;
   Int_t           jet_AntiKt4LCTopo_MET_n;
   vector<vector<float> > *jet_AntiKt4LCTopo_MET_wpx;
   vector<vector<float> > *jet_AntiKt4LCTopo_MET_wpy;
   vector<vector<float> > *jet_AntiKt4LCTopo_MET_wet;
   vector<vector<unsigned int> > *jet_AntiKt4LCTopo_MET_statusWord;
   vector<float>   *jet_AntiKt4LCTopo_GCWJES;

   Float_t         MET_CellOut_phi;
   Float_t         MET_CellOut_et;
   Float_t         MET_CellOut_sumet;


   vector<vector<float> > *el_MET_wpx;
   vector<vector<float> > *el_MET_wpy;
   vector<vector<float> > *el_MET_wet;
   vector<vector<unsigned int> > *el_MET_statusWord;

   vector<float>   *ph_pt;
   vector<float>   *ph_eta;
   vector<float>   *ph_phi;
   vector<vector<float> > *ph_MET_wpx;
   vector<vector<float> > *ph_MET_wpy;
   vector<vector<float> > *ph_MET_wet;
   vector<vector<unsigned int> > *ph_MET_statusWord;

   vector<float>   *tau_pt;
   vector<float>   *tau_eta;
   vector<float>   *tau_phi;
   vector<vector<float> > *tau_MET_wpx;
   vector<vector<float> > *tau_MET_wpy;
   vector<vector<float> > *tau_MET_wet;
   vector<vector<unsigned int> > *tau_MET_statusWord;

   Float_t         MET_RefTau_phi;
   Float_t         MET_RefTau_et;
   Float_t         MET_RefTau_sumet;

   Int_t           mu_muid_MET_n;
   vector<vector<float> > *mu_muid_MET_wpx;
   vector<vector<float> > *mu_muid_MET_wpy;
   vector<vector<float> > *mu_muid_MET_wet;
   vector<vector<unsigned int> > *mu_muid_MET_statusWord;

   Int_t           mu_staco_MET_n;
   vector<vector<float> > *mu_staco_MET_wpx;
   vector<vector<float> > *mu_staco_MET_wpy;
   vector<vector<float> > *mu_staco_MET_wet;
   vector<vector<unsigned int> > *mu_staco_MET_statusWord;

   Float_t         MET_RefMuon_phi;
   Float_t         MET_RefMuon_et;
   Float_t         MET_RefMuon_sumet;

   Int_t           mu_staco_n;
   vector<float>   *mu_staco_E;
   vector<float>   *mu_staco_pt;
   vector<float>   *mu_staco_m;
   vector<float>   *mu_staco_eta;
   vector<float>   *mu_staco_phi;
   vector<float>   *mu_staco_ms_phi;
   vector<float>   *mu_staco_ms_theta;

   Int_t           top_hfor_type;
   Float_t         MET_RefMuon_Track_Muid_phi;
   Float_t         MET_RefMuon_Track_Muid_et;
   Float_t         MET_RefMuon_Track_Muid_sumet;
   Float_t         MET_LocHadTopo_phi;
   Float_t         MET_LocHadTopo_et;
   Float_t         MET_LocHadTopo_sumet;
   Float_t         MET_LocHadTopo_etx_FCAL;
   Float_t         MET_LocHadTopo_ety_FCAL;
   Float_t         MET_LocHadTopo_sumet_FCAL;
   Float_t         MET_LocHadTopo_phi_FCAL;
   Float_t         MET_LocHadTopo_etx_CentralReg;
   Float_t         MET_LocHadTopo_ety_CentralReg;
   Float_t         MET_LocHadTopo_sumet_CentralReg;
   Float_t         MET_LocHadTopo_phi_CentralReg;
   Float_t         MET_LocHadTopo_etx_EndcapRegion;
   Float_t         MET_LocHadTopo_ety_EndcapRegion;
   Float_t         MET_LocHadTopo_sumet_EndcapRegion;
   Float_t         MET_LocHadTopo_phi_EndcapRegion;
   Float_t         MET_LocHadTopo_etx_ForwardReg;
   Float_t         MET_LocHadTopo_ety_ForwardReg;
   Float_t         MET_LocHadTopo_sumet_ForwardReg;
   Float_t         MET_LocHadTopo_phi_ForwardReg;

   Float_t         MET_RefFinal_phi;
   Float_t         MET_RefFinal_et;
   Float_t         MET_RefFinal_sumet;
   Float_t         MET_RefFinal_etx_CentralReg;
   Float_t         MET_RefFinal_ety_CentralReg;
   Float_t         MET_RefFinal_sumet_CentralReg;
   Float_t         MET_RefFinal_phi_CentralReg;
   Float_t         MET_RefFinal_etx_EndcapRegion;
   Float_t         MET_RefFinal_ety_EndcapRegion;
   Float_t         MET_RefFinal_sumet_EndcapRegion;
   Float_t         MET_RefFinal_phi_EndcapRegion;
   Float_t         MET_RefFinal_etx_ForwardReg;
   Float_t         MET_RefFinal_ety_ForwardReg;
   Float_t         MET_RefFinal_sumet_ForwardReg;
   Float_t         MET_RefFinal_phi_ForwardReg;

   Float_t         MET_Track_phi;
   Float_t         MET_Track_et;
   Float_t         MET_Track_sumet;
   Float_t         MET_Track_etx_CentralReg;
   Float_t         MET_Track_ety_CentralReg;
   Float_t         MET_Track_sumet_CentralReg;
   Float_t         MET_Track_phi_CentralReg;
   Float_t         MET_Track_etx_EndcapRegion;
   Float_t         MET_Track_ety_EndcapRegion;
   Float_t         MET_Track_sumet_EndcapRegion;
   Float_t         MET_Track_phi_EndcapRegion;
   Float_t         MET_Track_etx_ForwardReg;
   Float_t         MET_Track_ety_ForwardReg;
   Float_t         MET_Track_sumet_ForwardReg;
   Float_t         MET_Track_phi_ForwardReg;

   Float_t         MET_RefFinal_STVF_phi;
   Float_t         MET_RefFinal_STVF_et;
   Float_t         MET_RefFinal_STVF_sumet;
   Float_t         MET_RefFinal_STVF_etx_CentralReg;
   Float_t         MET_RefFinal_STVF_ety_CentralReg;
   Float_t         MET_RefFinal_STVF_sumet_CentralReg;
   Float_t         MET_RefFinal_STVF_phi_CentralReg;
   Float_t         MET_RefFinal_STVF_etx_EndcapRegion;
   Float_t         MET_RefFinal_STVF_ety_EndcapRegion;
   Float_t         MET_RefFinal_STVF_sumet_EndcapRegion;
   Float_t         MET_RefFinal_STVF_phi_EndcapRegion;
   Float_t         MET_RefFinal_STVF_etx_ForwardReg;
   Float_t         MET_RefFinal_STVF_ety_ForwardReg;
   Float_t         MET_RefFinal_STVF_sumet_ForwardReg;
   Float_t         MET_RefFinal_STVF_phi_ForwardReg;

   Float_t         MET_CellOut_Eflow_phi;
   Float_t         MET_CellOut_Eflow_et;
   Float_t         MET_CellOut_Eflow_sumet;
   Float_t         MET_CellOut_Eflow_etx_CentralReg;
   Float_t         MET_CellOut_Eflow_ety_CentralReg;
   Float_t         MET_CellOut_Eflow_sumet_CentralReg;
   Float_t         MET_CellOut_Eflow_phi_CentralReg;
   Float_t         MET_CellOut_Eflow_etx_EndcapRegion;
   Float_t         MET_CellOut_Eflow_ety_EndcapRegion;
   Float_t         MET_CellOut_Eflow_sumet_EndcapRegion;
   Float_t         MET_CellOut_Eflow_phi_EndcapRegion;
   Float_t         MET_CellOut_Eflow_etx_ForwardReg;
   Float_t         MET_CellOut_Eflow_ety_ForwardReg;
   Float_t         MET_CellOut_Eflow_sumet_ForwardReg;
   Float_t         MET_CellOut_Eflow_phi_ForwardReg;

   Float_t         MET_RefJet_phi;
   Float_t         MET_RefJet_et;
   Float_t         MET_RefJet_sumet;
   Float_t         MET_RefJet_etx_CentralReg;
   Float_t         MET_RefJet_ety_CentralReg;
   Float_t         MET_RefJet_sumet_CentralReg;
   Float_t         MET_RefJet_phi_CentralReg;
   Float_t         MET_RefJet_etx_EndcapRegion;
   Float_t         MET_RefJet_ety_EndcapRegion;
   Float_t         MET_RefJet_sumet_EndcapRegion;
   Float_t         MET_RefJet_phi_EndcapRegion;
   Float_t         MET_RefJet_etx_ForwardReg;
   Float_t         MET_RefJet_ety_ForwardReg;
   Float_t         MET_RefJet_sumet_ForwardReg;
   Float_t         MET_RefJet_phi_ForwardReg;


   Float_t         MET_SoftJets_phi;
   Float_t         MET_SoftJets_et;
   Float_t         MET_SoftJets_sumet;
   Float_t         MET_SoftJets_etx_CentralReg;
   Float_t         MET_SoftJets_ety_CentralReg;
   Float_t         MET_SoftJets_sumet_CentralReg;
   Float_t         MET_SoftJets_phi_CentralReg;
   Float_t         MET_SoftJets_etx_EndcapRegion;
   Float_t         MET_SoftJets_ety_EndcapRegion;
   Float_t         MET_SoftJets_sumet_EndcapRegion;
   Float_t         MET_SoftJets_phi_EndcapRegion;
   Float_t         MET_SoftJets_etx_ForwardReg;
   Float_t         MET_SoftJets_ety_ForwardReg;
   Float_t         MET_SoftJets_sumet_ForwardReg;
   Float_t         MET_SoftJets_phi_ForwardReg;

//Adding Componet stvf
   Float_t         MET_CellOut_STVF_phi;
   Float_t         MET_CellOut_STVF_et;
   Float_t         MET_CellOut_STVF_sumet;
   Float_t         MET_CellOut_STVF_etx_CentralReg;
   Float_t         MET_CellOut_STVF_ety_CentralReg;
   Float_t         MET_CellOut_STVF_sumet_CentralReg;
   Float_t         MET_CellOut_STVF_phi_CentralReg;
   Float_t         MET_CellOut_STVF_etx_EndcapRegion;
   Float_t         MET_CellOut_STVF_ety_EndcapRegion;
   Float_t         MET_CellOut_STVF_sumet_EndcapRegion;
   Float_t         MET_CellOut_STVF_phi_EndcapRegion;
   Float_t         MET_CellOut_STVF_etx_ForwardReg;
   Float_t         MET_CellOut_STVF_ety_ForwardReg;
   Float_t         MET_CellOut_STVF_sumet_ForwardReg;
   Float_t         MET_CellOut_STVF_phi_ForwardReg;


   Float_t         MET_Truth_NonInt_etx;
   Float_t         MET_Truth_NonInt_ety;
   Float_t         MET_Truth_NonInt_phi;
   Float_t         MET_Truth_NonInt_et;
   Float_t         MET_Truth_NonInt_sumet;


   Int_t           vxp_n;
   vector<float>   *vxp_x;
   vector<float>   *vxp_y;
   vector<float>   *vxp_z;
   vector<float>   *vxp_chi2;
   vector<float>   *vxp_px;
   vector<float>   *vxp_py;
   vector<float>   *vxp_pz;
   vector<float>   *vxp_E;
   vector<float>   *vxp_m;
   vector<int>     *vxp_nTracks;
   vector<float>   *vxp_sumPt;
   vector<int>     *vxp_type;
   vector<vector<double> > *mcevt_weight;

   // List of branches
   TBranch        *b_RunNumber;   //!
   TBranch        *b_EventNumber;   //!
   TBranch        *b_averageIntPerXing;   //!
   TBranch        *b_mc_channel_number;   //!
   TBranch        *b_lbn;   //!
   TBranch        *b_larError;   //!
   TBranch        *b_el_n;   //!
   TBranch        *b_el_E;   //!
   TBranch        *b_el_Et;   //!
   TBranch        *b_el_pt;   //!
   TBranch        *b_el_m;   //!
   TBranch        *b_el_eta;   //!
   TBranch        *b_el_CaloPointing_eta;   //!
   TBranch        *b_el_phi;   //!
   TBranch        *b_el_px;   //!
   TBranch        *b_el_py;   //!
   TBranch        *b_el_pz;   //!
   TBranch        *b_el_charge;   //!
   TBranch        *b_el_author;   //!
   TBranch        *b_el_isEM;   //!
   TBranch        *b_el_OQ;   //!
//add for isem tight
   TBranch  *b_el_Ethad;
   TBranch  *b_el_Ethad1;
   TBranch  *b_el_wstot;
   TBranch  *b_el_deltaEs;
   TBranch  *b_el_Emax2;
   TBranch  *b_el_emaxs1;
   TBranch  *b_el_deltaeta1;
   TBranch  *b_el_deltaphi2;
   TBranch  *b_el_f1;
   TBranch  *b_el_f3;
   TBranch  *b_el_trackqoverp;
   TBranch  *b_el_trackd0_physics;
   TBranch  *b_el_TRTHighTOutliersRatio;
   TBranch  *b_el_nTRTOutliers;
   TBranch  *b_el_nSCTOutliers;
   TBranch  *b_el_nPixelOutliers;
   TBranch  *b_el_nBLayerOutliers;
   TBranch  *b_el_nSiHits;
//add for isem tight
   TBranch        *b_el_convFlag;   //!
   TBranch        *b_el_isConv;   //!
   TBranch        *b_el_nConv;   //!
   TBranch        *b_el_nSingleTrackConv;   //!
   TBranch        *b_el_nDoubleTrackConv;   //!
   TBranch        *b_el_loose;   //!
   TBranch        *b_el_medium;   //!
   TBranch        *b_el_mediumIso;   //!
   TBranch        *b_el_tight;   //!
   TBranch        *b_el_tightIso;   //!
   TBranch        *b_el_loosePP;   //!
   TBranch        *b_el_mediumPP;   //!
   TBranch        *b_el_tightPP;   //!
   TBranch        *b_el_weta2;   //!
   TBranch        *b_el_Etcone45;   //!
   TBranch        *b_el_Etcone20;   //!
   TBranch        *b_el_Etcone30;   //!
   TBranch        *b_el_topoEtcone30;   //!
   TBranch        *b_el_Etcone40;   //!
   TBranch        *b_el_ptcone20;   //!
   TBranch        *b_el_ptcone30;   //!
   TBranch        *b_el_Etcone40_pt_corrected;   //!
   TBranch        *b_el_expectHitInBLayer;   //!
   TBranch        *b_el_reta;   //!
   TBranch        *b_el_etas2;   //!
   TBranch        *b_el_etap;   //!
   TBranch        *b_el_cl_E;   //!
   TBranch        *b_el_ED_median;   //!
   TBranch        *b_el_cl_pt;   //!
   TBranch        *b_el_cl_eta;   //!
   TBranch        *b_el_cl_phi;   //!
   TBranch        *b_el_trackd0;   //!
   TBranch        *b_el_trackz0;   //!
   TBranch        *b_el_trackphi;   //!
   TBranch        *b_el_tracktheta;   //!
   TBranch        *b_el_tracketa;   //!
   TBranch        *b_el_nBLHits;   //!
   TBranch        *b_el_nPixHits;   //!
   TBranch        *b_el_nSCTHits;   //!
   TBranch        *b_el_nTRTHits;   //!
   TBranch        *b_el_trackd0beam;   //!
   TBranch        *b_el_tracksigd0beam;   //!
   TBranch        *b_el_trackd0pv;   //!
   TBranch        *b_el_trackz0pv;   //!
   TBranch        *b_el_tracksigd0pv;   //!
   TBranch        *b_el_tracksigz0pv;   //!
   TBranch        *b_el_trackd0pvunbiased;   //!
   TBranch        *b_el_trackz0pvunbiased;   //!
   TBranch        *b_el_tracksigd0pvunbiased;   //!
   TBranch        *b_el_tracksigz0pvunbiased;   //!
   TBranch        *b_el_hastrack;   //!
   TBranch        *b_mu_hastrack;   //!
   TBranch        *b_EF_e20_medium;   //!
   TBranch        *b_EF_e24vhi_medium1;   //!
   TBranch        *b_EF_e60_medium1;   //!
   TBranch        *b_EF_e22_medium;   //!
   TBranch        *b_EF_e22vh_medium1;   //!
   TBranch        *b_EF_e45_medium1;   //!
   TBranch        *b_EF_e10_medium;   //!
   TBranch        *b_trig_EF_el_EF_e60_medium1;   //!
   TBranch        *b_trig_EF_el_EF_e24vhi_medium1;   //!
   TBranch        *b_trig_EF_el_n;   //!
   TBranch        *b_trig_EF_el_eta;   //!
   TBranch        *b_trig_EF_el_phi;   //!
   TBranch        *b_EF_mu18;   //!
   TBranch        *b_EF_mu18_MG;   //!
   TBranch        *b_EF_mu18_MG_medium;   //!
   TBranch        *b_EF_mu24i_tight;   //!
   TBranch        *b_EF_mu36_tight;   //!
   TBranch        *b_EF_mu40_MSonly_barrel;   //!
   TBranch        *b_EF_mu20;   //!
   TBranch        *b_EF_mu22_MG;   //!
   TBranch        *b_EF_xe80T_tclcw_loose;   //!
   TBranch        *b_EF_xe80_tclcw_loose;   //!

   TBranch        *b_mu_muid_n;   //!
   TBranch        *b_mu_muid_E;   //!
   TBranch        *b_mu_muid_pt;   //!
   TBranch        *b_mu_muid_m;   //!
   TBranch        *b_mu_muid_eta;   //!
   TBranch        *b_mu_muid_phi;   //!
   TBranch        *b_mu_muid_px;   //!
   TBranch        *b_mu_muid_py;   //!
   TBranch        *b_mu_muid_pz;   //!
   TBranch        *b_mu_muid_charge;   //!
   TBranch        *b_mu_muid_allauthor;   //!
   TBranch        *b_mu_muid_author;   //!
   TBranch        *b_mu_muid_matchchi2;   //!
   TBranch        *b_mu_muid_matchndof;   //!
   TBranch        *b_mu_muid_etcone20;   //!
   TBranch        *b_mu_muid_etcone30;   //!
   TBranch        *b_mu_muid_etcone40;   //!
   TBranch        *b_mu_muid_nucone20;   //!
   TBranch        *b_mu_muid_nucone30;   //!
   TBranch        *b_mu_muid_nucone40;   //!
   TBranch        *b_mu_muid_ptcone20;   //!
   TBranch        *b_mu_muid_ptcone30;   //!
   TBranch        *b_mu_muid_ptcone40;   //!
   TBranch        *b_mu_muid_energyLossPar;   //!
   TBranch        *b_mu_muid_energyLossErr;   //!
   TBranch        *b_mu_muid_bestMatch;   //!
   TBranch        *b_mu_muid_isStandAloneMuon;   //!
   TBranch        *b_mu_muid_isSiliconAssociatedForwardMuon;   //!
   TBranch        *b_mu_muid_isCombinedMuon;   //!
   TBranch        *b_mu_muid_isLowPtReconstructedMuon;   //!
   TBranch        *b_mu_muid_loose;   //!
   TBranch        *b_mu_muid_medium;   //!
   TBranch        *b_mu_muid_tight;   //!
   TBranch        *b_mu_muid_d0_exPV;   //!
   TBranch        *b_mu_muid_z0_exPV;   //!
   TBranch        *b_mu_muid_trackd0pvunbiased;   //!
   TBranch        *b_mu_muid_trackz0pvunbiased;   //!
   TBranch        *b_mu_muid_phi_exPV;   //!
   TBranch        *b_mu_muid_theta_exPV;   //!
   TBranch        *b_mu_muid_ms_d0;   //!
   TBranch        *b_mu_muid_ms_z0;   //!
   TBranch        *b_mu_muid_ms_phi;   //!
   TBranch        *b_mu_muid_ms_theta;   //!
   TBranch        *b_mu_muid_ms_qoverp;   //!
   TBranch        *b_mu_muid_id_d0;   //!
   TBranch        *b_mu_muid_id_z0;   //!
   TBranch        *b_mu_muid_id_phi;   //!
   TBranch        *b_mu_muid_id_theta;   //!
   TBranch        *b_mu_muid_id_qoverp;   //!
   TBranch        *b_mu_muid_me_d0;   //!
   TBranch        *b_mu_muid_me_z0;   //!
   TBranch        *b_mu_muid_me_phi;   //!
   TBranch        *b_mu_muid_me_theta;   //!
   TBranch        *b_mu_muid_me_theta_exPV;   //!
   TBranch        *b_mu_muid_me_qoverp;   //!
   TBranch        *b_mu_muid_me_qoverp_exPV;   //!
   TBranch        *b_mu_muid_ie_d0;   //!
   TBranch        *b_mu_muid_ie_z0;   //!
   TBranch        *b_mu_muid_ie_phi;   //!
   TBranch        *b_mu_muid_ie_theta;   //!
   TBranch        *b_mu_muid_ie_theta_exPV;   //!
   TBranch        *b_mu_muid_ie_qoverp;   //!
   TBranch        *b_mu_muid_ie_qoverp_exPV;   //!
   TBranch        *b_mu_muid_nOutliersOnTrack;   //!
   TBranch        *b_mu_muid_nBLHits;   //!
   TBranch        *b_mu_muid_nPixHits;   //!
   TBranch        *b_mu_muid_nSCTHits;   //!
   TBranch        *b_mu_muid_nTRTHits;   //!
   TBranch        *b_mu_muid_nTRTHighTHits;   //!
   TBranch        *b_mu_muid_nBLSharedHits;   //!
   TBranch        *b_mu_muid_nPixSharedHits;   //!
   TBranch        *b_mu_muid_nPixHoles;   //!
   TBranch        *b_mu_muid_nSCTSharedHits;   //!
   TBranch        *b_mu_muid_nSCTHoles;   //!
   TBranch        *b_mu_muid_nTRTOutliers;   //!
   TBranch        *b_mu_muid_nTRTHighTOutliers;   //!

   TBranch        *b_mu_muid_nGangedPixels;   //!
   TBranch        *b_mu_muid_nPixelDeadSensors;   //!
   TBranch        *b_mu_muid_nSCTDeadSensors;   //!
   TBranch        *b_mu_muid_nTRTDeadStraws;   //!
   TBranch        *b_mu_muid_expectBLayerHit;   //!
   TBranch        *b_mu_muid_nMDTHits;   //!
   TBranch        *b_mu_muid_nMDTHoles;   //!
   TBranch        *b_mu_muid_nCSCEtaHits;   //!
   TBranch        *b_mu_muid_nCSCEtaHoles;   //!
   TBranch        *b_mu_muid_nCSCPhiHits;   //!
   TBranch        *b_mu_muid_nCSCPhiHoles;   //!
   TBranch        *b_mu_muid_nRPCEtaHits;   //!
   TBranch        *b_mu_muid_nRPCEtaHoles;   //!
   TBranch        *b_mu_muid_nRPCPhiHits;   //!
   TBranch        *b_mu_muid_nRPCPhiHoles;   //!
   TBranch        *b_mu_muid_nTGCEtaHits;   //!
   TBranch        *b_mu_muid_nTGCEtaHoles;   //!
   TBranch        *b_mu_muid_nTGCPhiHits;   //!
   TBranch        *b_mu_muid_nTGCPhiHoles;   //!
   TBranch        *b_mu_muid_trackd0;   //!
   TBranch        *b_mu_muid_trackz0;   //!
   TBranch        *b_mu_muid_trackfitchi2;   //!
   TBranch        *b_mu_muid_trackfitndof;   //!
   TBranch        *b_mu_muid_hastrack;   //!
   TBranch        *b_mu_calo_n;   //!
   TBranch        *b_mu_calo_E;   //!
   TBranch        *b_mu_calo_pt;   //!
   TBranch        *b_mu_calo_m;   //!
   TBranch        *b_mu_calo_eta;   //!
   TBranch        *b_mu_calo_phi;   //!
   TBranch        *b_mu_calo_px;   //!
   TBranch        *b_mu_calo_py;   //!
   TBranch        *b_mu_calo_pz;   //!
   TBranch        *b_mu_calo_charge;   //!
   TBranch        *b_mu_calo_allauthor;   //!
   TBranch        *b_mu_calo_author;   //!
   TBranch        *b_mu_calo_isMuonLikelihood;   //!
   TBranch        *b_mu_calo_etcone20;   //!
   TBranch        *b_mu_calo_etcone30;   //!
   TBranch        *b_mu_calo_etcone40;   //!
   TBranch        *b_mu_calo_nucone20;   //!
   TBranch        *b_mu_calo_nucone30;   //!
   TBranch        *b_mu_calo_nucone40;   //!
   TBranch        *b_mu_calo_ptcone20;   //!
   TBranch        *b_mu_calo_ptcone30;   //!
   TBranch        *b_mu_calo_ptcone40;   //!
   TBranch        *b_mu_calo_etconeNoEm10;   //!
   TBranch        *b_mu_calo_etconeNoEm20;   //!
   TBranch        *b_mu_calo_etconeNoEm30;   //!
   TBranch        *b_mu_calo_etconeNoEm40;   //!
   TBranch        *b_mu_calo_scatteringCurvatureSignificance;   //!
   TBranch        *b_mu_calo_scatteringNeighbourSignificance;   //!
   TBranch        *b_mu_calo_momentumBalanceSignificance;   //!
   TBranch        *b_mu_calo_energyLossPar;   //!
   TBranch        *b_mu_calo_energyLossErr;   //!
   TBranch        *b_mu_calo_etCore;   //!
   TBranch        *b_mu_calo_energyLossType;   //!
   TBranch        *b_mu_calo_caloMuonIdTag;   //!
   TBranch        *b_mu_calo_caloLRLikelihood;   //!
   TBranch        *b_mu_calo_loose;   //!
   TBranch        *b_mu_calo_medium;   //!
   TBranch        *b_mu_calo_tight;   //!
   TBranch        *b_mu_calo_nOutliersOnTrack;   //!
   TBranch        *b_mu_calo_nBLHits;   //!
   TBranch        *b_mu_calo_nPixHits;   //!
   TBranch        *b_mu_calo_nSCTHits;   //!
   TBranch        *b_mu_calo_nTRTHits;   //!
   TBranch        *b_mu_calo_nTRTHighTHits;   //!
   TBranch        *b_mu_calo_nBLSharedHits;   //!
   TBranch        *b_mu_calo_nPixSharedHits;   //!
   TBranch        *b_mu_calo_nPixHoles;   //!
   TBranch        *b_mu_calo_nSCTSharedHits;   //!
   TBranch        *b_mu_calo_nSCTHoles;   //!
   TBranch        *b_mu_calo_nTRTOutliers;   //!
   TBranch        *b_mu_calo_nTRTHighTOutliers;   //!
   TBranch        *b_mu_calo_nGangedPixels;   //!
   TBranch        *b_mu_calo_nPixelDeadSensors;   //!
   TBranch        *b_mu_calo_nSCTDeadSensors;   //!
   TBranch        *b_mu_calo_nTRTDeadStraws;   //!
   TBranch        *b_mu_calo_expectBLayerHit;   //!
   TBranch        *b_mu_calo_nMDTHits;   //!
   TBranch        *b_mu_calo_nMDTHoles;   //!
   TBranch        *b_mu_calo_nCSCEtaHits;   //!
   TBranch        *b_mu_calo_nCSCEtaHoles;   //!
   TBranch        *b_mu_calo_nCSCUnspoiledEtaHits;   //!
   TBranch        *b_mu_calo_nCSCPhiHits;   //!
   TBranch        *b_mu_calo_nCSCPhiHoles;   //!
   TBranch        *b_mu_calo_nRPCEtaHits;   //!
   TBranch        *b_mu_calo_nRPCEtaHoles;   //!
   TBranch        *b_mu_calo_nRPCPhiHits;   //!
   TBranch        *b_mu_calo_nRPCPhiHoles;   //!
   TBranch        *b_mu_calo_nTGCEtaHits;   //!
   TBranch        *b_mu_calo_nTGCEtaHoles;   //!
   TBranch        *b_mu_calo_nTGCPhiHits;   //!
   TBranch        *b_mu_calo_nTGCPhiHoles;   //!
   TBranch        *b_mu_calo_hastrack;   //!
   TBranch        *b_mu_calo_truth_dr;   //!
   TBranch        *b_mu_calo_truth_E;   //!
   TBranch        *b_mu_calo_truth_pt;   //!
   TBranch        *b_mu_calo_truth_eta;   //!
   TBranch        *b_mu_calo_truth_phi;   //!
   TBranch        *b_mu_calo_truth_type;   //!
   TBranch        *b_mu_calo_truth_status;   //!
   TBranch        *b_mu_calo_truth_barcode;   //!
   TBranch        *b_mu_calo_truth_mothertype;   //!
   TBranch        *b_mu_calo_truth_motherbarcode;   //!
   TBranch        *b_mu_calo_truth_matched;   //!

   TBranch        *b_jet_AntiKt4TopoEM_n;   //!
   TBranch        *b_jet_AntiKt4TopoEM_E;   //!
   TBranch        *b_jet_AntiKt4TopoEM_pt;   //!
   TBranch        *b_jet_AntiKt4TopoEM_m;   //!
   TBranch        *b_jet_AntiKt4TopoEM_eta;   //!
   TBranch        *b_jet_AntiKt4TopoEM_phi;   //!
   TBranch        *b_jet_AntiKt4TopoEM_EtaOrigin;   //!
   TBranch        *b_jet_AntiKt4TopoEM_PhiOrigin;   //!
   TBranch        *b_jet_AntiKt4TopoEM_MOrigin;   //!
   TBranch        *b_jet_AntiKt4TopoEM_EtaOriginEM;   //!
   TBranch        *b_jet_AntiKt4TopoEM_PhiOriginEM;   //!
   TBranch        *b_jet_AntiKt4TopoEM_MOriginEM;   //!
   TBranch        *b_jet_AntiKt4TopoEM_WIDTH;   //!
   TBranch        *b_jet_AntiKt4TopoEM_n90;   //!
   TBranch        *b_jet_AntiKt4TopoEM_Timing;   //!
   TBranch        *b_jet_AntiKt4TopoEM_LArQuality;   //!
   TBranch        *b_jet_AntiKt4TopoEM_sumPtTrk;   //!
   TBranch        *b_jet_AntiKt4TopoEM_HECQuality;   //!
   TBranch        *b_jet_AntiKt4TopoEM_NegativeE;   //!
   TBranch        *b_jet_AntiKt4TopoEM_AverageLArQF;   //!
   TBranch        *b_jet_AntiKt4TopoEM_SamplingMax;   //!
   TBranch        *b_jet_AntiKt4TopoEM_fracSamplingMax;   //!
   TBranch        *b_jet_AntiKt4TopoEM_hecf;   //!
   TBranch        *b_jet_AntiKt4TopoEM_isUgly;   //!
   TBranch        *b_jet_AntiKt4TopoEM_isBadLoose;   //!
   TBranch        *b_jet_AntiKt4TopoEM_isBadMedium;   //!
   TBranch        *b_jet_AntiKt4TopoEM_isBadTight;   //!
   TBranch        *b_jet_AntiKt4TopoEM_emfrac;   //!
   TBranch        *b_jet_AntiKt4TopoEM_EMJES;   //!
   TBranch        *b_jet_AntiKt4TopoEM_GCWJES;   //!
   TBranch        *b_jet_AntiKt4TopoEM_emscale_E;   //!
   TBranch        *b_jet_AntiKt4TopoEM_emscale_pt;   //!
   TBranch        *b_jet_AntiKt4TopoEM_emscale_m;   //!
   TBranch        *b_jet_AntiKt4TopoEM_emscale_eta;   //!
   TBranch        *b_jet_AntiKt4TopoEM_emscale_phi;   //!
   TBranch        *b_jet_AntiKt4TopoEM_jvtxf;   //!
   TBranch        *b_jet_AntiKt4TopoEM_jvtx_x;   //!
   TBranch        *b_jet_AntiKt4TopoEM_jvtx_y;   //!
   TBranch        *b_jet_AntiKt4TopoEM_jvtx_z;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_Comb;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_IP3D;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_SV0;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_SV1;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_MV1;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_JetProb;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_TrackCounting2D;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_SoftMuonTag;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_SoftElectronTag;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_weight_JetFitterCOMBNN;   //!
   TBranch        *b_jet_AntiKt4TopoEM_flavor_truth_label;   //!
   TBranch        *b_trig_L1_TAV;   //!
   TBranch        *b_jet_AntiKt4LCTopo_n;   //!
   TBranch        *b_jet_AntiKt4LCTopo_E;   //!
   TBranch        *b_jet_AntiKt4LCTopo_pt;   //!
   TBranch        *b_jet_AntiKt4LCTopo_m;   //!
   TBranch        *b_jet_AntiKt4LCTopo_eta;   //!
   TBranch        *b_jet_AntiKt4LCTopo_phi;   //!
   TBranch        *b_jet_AntiKt4LCTopo_MET_n;   //!
   TBranch        *b_jet_AntiKt4LCTopo_MET_wpx;   //!
   TBranch        *b_jet_AntiKt4LCTopo_MET_wpy;   //!
   TBranch        *b_jet_AntiKt4LCTopo_MET_wet;   //!
   TBranch        *b_jet_AntiKt4LCTopo_MET_statusWord;   //!
   TBranch        *b_jet_AntiKt4LCTopo_GCWJES;   //!
   TBranch        *b_MET_CellOut_phi;   //!
   TBranch        *b_MET_CellOut_et;   //!
   TBranch        *b_MET_CellOut_sumet;   //!

   TBranch        *b_el_MET_wpx;   //!
   TBranch        *b_el_MET_wpy;   //!
   TBranch        *b_el_MET_wet;   //!
   TBranch        *b_el_MET_statusWord;   //!
   TBranch        *b_ph_pt;   //!
   TBranch        *b_ph_eta;   //!
   TBranch        *b_ph_phi;   //!
   TBranch        *b_ph_MET_wpx;   //!
   TBranch        *b_ph_MET_wpy;   //!
   TBranch        *b_ph_MET_wet;   //!
   TBranch        *b_ph_MET_statusWord;   //!
   TBranch        *b_tau_pt;   //!
   TBranch        *b_tau_eta;   //!
   TBranch        *b_tau_phi;   //!
   TBranch        *b_tau_MET_wpx;   //!
   TBranch        *b_tau_MET_wpy;   //!
   TBranch        *b_tau_MET_wet;   //!
   TBranch        *b_tau_MET_statusWord;   //!
   TBranch        *b_MET_RefTau_phi;   //!
   TBranch        *b_MET_RefTau_et;   //!
   TBranch        *b_MET_RefTau_sumet;   //!
   TBranch        *b_mu_muid_MET_wpx;   //!
   TBranch        *b_mu_muid_MET_wpy;   //!
   TBranch        *b_mu_muid_MET_wet;   //!
   TBranch        *b_mu_muid_MET_statusWord;   //!
   TBranch        *b_mu_staco_MET_wpx;   //!
   TBranch        *b_mu_staco_MET_wpy;   //!
   TBranch        *b_mu_staco_MET_wet;   //!
   TBranch        *b_mu_staco_MET_statusWord;   //!

   TBranch        *b_MET_RefMuon_phi;   //!
   TBranch        *b_MET_RefMuon_et;   //!
   TBranch        *b_MET_RefMuon_sumet;   //!

   TBranch        *b_mu_staco_n;   //!
   TBranch        *b_mu_staco_E;   //!
   TBranch        *b_mu_staco_pt;   //!
   TBranch        *b_mu_staco_m;   //!
   TBranch        *b_mu_staco_eta;   //!
   TBranch        *b_mu_staco_phi;   //!
   TBranch        *b_mu_staco_ms_phi;   //!
   TBranch        *b_mu_staco_ms_theta;   //!



   TBranch        *b_top_hfor_type;   //!
   TBranch        *b_MET_RefMuon_Track_Muid_phi;   //!
   TBranch        *b_MET_RefMuon_Track_Muid_et;   //!
   TBranch        *b_MET_RefMuon_Track_Muid_sumet;   //!
   TBranch        *b_MET_LocHadTopo_phi;   //!
   TBranch        *b_MET_LocHadTopo_et;   //!
   TBranch        *b_MET_LocHadTopo_sumet;   //!
   TBranch        *b_MET_LocHadTopo_etx_FCAL;   //!
   TBranch        *b_MET_LocHadTopo_ety_FCAL;   //!
   TBranch        *b_MET_LocHadTopo_sumet_FCAL;   //!
   TBranch        *b_MET_LocHadTopo_phi_FCAL;   //!
   TBranch        *b_MET_LocHadTopo_etx_CentralReg;   //!
   TBranch        *b_MET_LocHadTopo_ety_CentralReg;   //!
   TBranch        *b_MET_LocHadTopo_sumet_CentralReg;   //!
   TBranch        *b_MET_LocHadTopo_phi_CentralReg;   //!
   TBranch        *b_MET_LocHadTopo_etx_EndcapRegion;   //!
   TBranch        *b_MET_LocHadTopo_ety_EndcapRegion;   //!
   TBranch        *b_MET_LocHadTopo_sumet_EndcapRegion;   //!
   TBranch        *b_MET_LocHadTopo_phi_EndcapRegion;   //!
   TBranch        *b_MET_LocHadTopo_etx_ForwardReg;   //!
   TBranch        *b_MET_LocHadTopo_ety_ForwardReg;   //!
   TBranch        *b_MET_LocHadTopo_sumet_ForwardReg;   //!
   TBranch        *b_MET_LocHadTopo_phi_ForwardReg;   //!


   TBranch        *b_MET_RefFinal_phi;   //!
   TBranch        *b_MET_RefFinal_et;   //!
   TBranch        *b_MET_RefFinal_sumet;   //!
   TBranch        *b_MET_RefFinal_etx_CentralReg;   //!
   TBranch        *b_MET_RefFinal_ety_CentralReg;   //!
   TBranch        *b_MET_RefFinal_sumet_CentralReg;   //!
   TBranch        *b_MET_RefFinal_phi_CentralReg;   //!
   TBranch        *b_MET_RefFinal_etx_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_ety_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_sumet_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_phi_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_etx_ForwardReg;   //!
   TBranch        *b_MET_RefFinal_ety_ForwardReg;   //!
   TBranch        *b_MET_RefFinal_sumet_ForwardReg;   //!
   TBranch        *b_MET_RefFinal_phi_ForwardReg;   //!

   TBranch        *b_MET_Track_phi;   //!
   TBranch        *b_MET_Track_et;   //!
   TBranch        *b_MET_Track_sumet;   //!
   TBranch        *b_MET_Track_etx_CentralReg;   //!
   TBranch        *b_MET_Track_ety_CentralReg;   //!
   TBranch        *b_MET_Track_sumet_CentralReg;   //!
   TBranch        *b_MET_Track_phi_CentralReg;   //!
   TBranch        *b_MET_Track_etx_EndcapRegion;   //!
   TBranch        *b_MET_Track_ety_EndcapRegion;   //!
   TBranch        *b_MET_Track_sumet_EndcapRegion;   //!
   TBranch        *b_MET_Track_phi_EndcapRegion;   //!
   TBranch        *b_MET_Track_etx_ForwardReg;   //!
   TBranch        *b_MET_Track_ety_ForwardReg;   //!
   TBranch        *b_MET_Track_sumet_ForwardReg;   //!
   TBranch        *b_MET_Track_phi_ForwardReg;   //!


   TBranch        *b_MET_RefFinal_STVF_phi;   //!
   TBranch        *b_MET_RefFinal_STVF_et;   //!
   TBranch        *b_MET_RefFinal_STVF_sumet;   //!
   TBranch        *b_MET_RefFinal_STVF_etx_CentralReg;   //!
   TBranch        *b_MET_RefFinal_STVF_ety_CentralReg;   //!
   TBranch        *b_MET_RefFinal_STVF_sumet_CentralReg;   //!
   TBranch        *b_MET_RefFinal_STVF_phi_CentralReg;   //!
   TBranch        *b_MET_RefFinal_STVF_etx_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_STVF_ety_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_STVF_sumet_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_STVF_phi_EndcapRegion;   //!
   TBranch        *b_MET_RefFinal_STVF_etx_ForwardReg;   //!
   TBranch        *b_MET_RefFinal_STVF_ety_ForwardReg;   //!
   TBranch        *b_MET_RefFinal_STVF_sumet_ForwardReg;   //!
   TBranch        *b_MET_RefFinal_STVF_phi_ForwardReg;   //!

   TBranch        *b_MET_CellOut_Eflow_phi;   //!
   TBranch        *b_MET_CellOut_Eflow_et;   //!
   TBranch        *b_MET_CellOut_Eflow_sumet;   //!
   TBranch        *b_MET_CellOut_Eflow_etx_CentralReg;   //!
   TBranch        *b_MET_CellOut_Eflow_ety_CentralReg;   //!
   TBranch        *b_MET_CellOut_Eflow_sumet_CentralReg;   //!
   TBranch        *b_MET_CellOut_Eflow_phi_CentralReg;   //!
   TBranch        *b_MET_CellOut_Eflow_etx_EndcapRegion;   //!
   TBranch        *b_MET_CellOut_Eflow_ety_EndcapRegion;   //!
   TBranch        *b_MET_CellOut_Eflow_sumet_EndcapRegion;   //!
   TBranch        *b_MET_CellOut_Eflow_phi_EndcapRegion;   //!
   TBranch        *b_MET_CellOut_Eflow_etx_ForwardReg;   //!
   TBranch        *b_MET_CellOut_Eflow_ety_ForwardReg;   //!
   TBranch        *b_MET_CellOut_Eflow_sumet_ForwardReg;   //!
   TBranch        *b_MET_CellOut_Eflow_phi_ForwardReg;   //!

   TBranch        *b_MET_RefJet_phi;   //!
   TBranch        *b_MET_RefJet_et;   //!
   TBranch        *b_MET_RefJet_sumet;   //!
   TBranch        *b_MET_RefJet_etx_CentralReg;   //!
   TBranch        *b_MET_RefJet_ety_CentralReg;   //!
   TBranch        *b_MET_RefJet_sumet_CentralReg;   //!
   TBranch        *b_MET_RefJet_phi_CentralReg;   //!
   TBranch        *b_MET_RefJet_etx_EndcapRegion;   //!
   TBranch        *b_MET_RefJet_ety_EndcapRegion;   //!
   TBranch        *b_MET_RefJet_sumet_EndcapRegion;   //!
   TBranch        *b_MET_RefJet_phi_EndcapRegion;   //!
   TBranch        *b_MET_RefJet_etx_ForwardReg;   //!
   TBranch        *b_MET_RefJet_ety_ForwardReg;   //!
   TBranch        *b_MET_RefJet_sumet_ForwardReg;   //!
   TBranch        *b_MET_RefJet_phi_ForwardReg;   //!

   TBranch        *b_MET_SoftJets_phi;   //!
   TBranch        *b_MET_SoftJets_et;   //!
   TBranch        *b_MET_SoftJets_sumet;   //!
   TBranch        *b_MET_SoftJets_etx_CentralReg;   //!
   TBranch        *b_MET_SoftJets_ety_CentralReg;   //!
   TBranch        *b_MET_SoftJets_sumet_CentralReg;   //!
   TBranch        *b_MET_SoftJets_phi_CentralReg;   //!
   TBranch        *b_MET_SoftJets_etx_EndcapRegion;   //!
   TBranch        *b_MET_SoftJets_ety_EndcapRegion;   //!
   TBranch        *b_MET_SoftJets_sumet_EndcapRegion;   //!
   TBranch        *b_MET_SoftJets_phi_EndcapRegion;   //!
   TBranch        *b_MET_SoftJets_etx_ForwardReg;   //!
   TBranch        *b_MET_SoftJets_ety_ForwardReg;   //!
   TBranch        *b_MET_SoftJets_sumet_ForwardReg;   //!
   TBranch        *b_MET_SoftJets_phi_ForwardReg;   //!

   TBranch        *b_MET_Truth_NonInt_etx;   //!
   TBranch        *b_MET_Truth_NonInt_ety;   //!
   TBranch        *b_MET_Truth_NonInt_phi;   //!
   TBranch        *b_MET_Truth_NonInt_et;   //!
   TBranch        *b_MET_Truth_NonInt_sumet;   //!

   TBranch        *b_vxp_n;   //!
   TBranch        *b_vxp_x;   //!
   TBranch        *b_vxp_y;   //!
   TBranch        *b_vxp_z;   //!
   TBranch        *b_vxp_chi2;   //!
   TBranch        *b_vxp_px;   //!
   TBranch        *b_vxp_py;   //!
   TBranch        *b_vxp_pz;   //!
   TBranch        *b_vxp_E;   //!
   TBranch        *b_vxp_m;   //!
   TBranch        *b_vxp_nTracks;   //!
   TBranch        *b_vxp_sumPt;   //!
   TBranch        *b_vxp_type;   //!
   TBranch        *b_mcevt_weight;   //!

 physics(TTree * tree =0, const char* _filename_="",const char* _option_="");
 ~physics();
   virtual Int_t   Version() const { return 2; }
   virtual void    Begin(TTree *tree);
   virtual void    SlaveBegin(TTree *tree);
   virtual void    Init(TTree *tree);
   virtual Bool_t  Notify();
   virtual Bool_t  Process(Long64_t entry);
   virtual Int_t   GetEntry(Long64_t entry, Int_t getall = 0) { return fChain ? fChain->GetTree()->GetEntry(entry, getall) : 0; }
   virtual void    SetOption(const char *option) { fOption = option; }
   virtual void    SetObject(TObject *obj) { fObject = obj; }
   virtual void    SetInputList(TList *input) { fInput = input; }
   virtual TList  *GetOutputList() const { return fOutput; }
   virtual void    SlaveTerminate();
   virtual void    Terminate();
         bool SetOutputFile(const char* _filename="test.root");

   vector<container> get_electron_met(int myRunNumber, int kIsData, TString option, vector<container> jet,  vector<container> muon);
   vector<container> get_muon_met(int myRunNumber, int kIsData, TString option, vector<container> jet);
   vector<container> get_calomuon_met(int myRunNumber, int kIsData, TString option, vector<container> jet, vector<container> muon_nocalo);
   vector<container> get_jet_met(int myRunNumber, int kIsData, TString option, vector<container> ele);

   //vector<container> erase_vector(vector<container> ele, vector<container> jet, double pt_cut); 
   void    Set_Branch(Long64_t entry);
   bool bookBranch();
   bool clearBranch();


};

#endif

#ifdef physics_cxx
void physics::Init(TTree *tree)
{
   // The Init() function is called when the selector needs to initialize
   // a new tree or chain. Typically here the branch addresses and branch
   // pointers of the tree will be set.
   // It is normally not necessary to make changes to the generated
   // code, but the routine can be extended by the user if needed.
   // Init() will be called many times when running on PROOF
   // (once per file to be processed).

   // Set object pointer
   el_E = 0;
   el_Et = 0;
   el_pt = 0;
   el_m = 0;
   el_eta = 0;
   el_CaloPointing_eta = 0;
   el_phi = 0;
   el_px = 0;
   el_py = 0;
   el_pz = 0;
   el_charge = 0;
   el_author = 0;
   el_isEM = 0;
   el_OQ = 0;
//add for isem tight
   el_Ethad=0;
   el_Ethad1=0;
   el_wstot=0;
   el_deltaEs=0;
   el_Emax2=0;
   el_emaxs1=0;
   el_deltaeta1=0;
   el_deltaphi2=0;
   el_f1=0;
   el_f3=0;
   el_trackqoverp=0;
   el_trackd0_physics=0;
   el_TRTHighTOutliersRatio=0;
   el_nTRTOutliers=0;
   el_nSCTOutliers=0;
   el_nPixelOutliers=0;
   el_nBLayerOutliers=0;
   el_nSiHits=0;
//add for isem tight
   el_convFlag = 0;
   el_isConv = 0;
   el_nConv = 0;
   el_nSingleTrackConv = 0;
   el_nDoubleTrackConv = 0;
   el_loose = 0;
   el_medium = 0;
   el_mediumIso = 0;
   el_tight = 0;
   el_tightIso = 0;
   el_loosePP = 0;
   el_mediumPP = 0;
   el_tightPP = 0;
   el_weta2 = 0;
   el_Etcone45 = 0;
   el_Etcone20 = 0;
   el_Etcone30 = 0;
   el_topoEtcone30 = 0;
   el_Etcone40 = 0;
   el_ptcone20 = 0;
   el_ptcone30 = 0;
   el_Etcone40_pt_corrected = 0;
   el_expectHitInBLayer = 0;
   el_reta = 0;
   el_etas2 = 0;
   el_etap = 0;
   el_cl_E = 0;
   el_ED_median = 0;
   el_cl_pt = 0;
   el_cl_eta = 0;
   el_cl_phi = 0;
   el_trackd0 = 0;
   el_trackz0 = 0;
   el_trackphi = 0;
   el_tracktheta = 0;
   el_tracketa = 0;
   el_nBLHits = 0;
   el_nPixHits = 0;
   el_nSCTHits = 0;
   el_nTRTHits = 0;
   el_trackd0beam = 0;
   el_tracksigd0beam = 0;
   el_trackd0pv = 0;
   el_trackz0pv = 0;
   el_tracksigd0pv = 0;
   el_tracksigz0pv = 0;
   el_trackd0pvunbiased = 0;
   el_trackz0pvunbiased = 0;
   el_tracksigd0pvunbiased = 0;
   el_tracksigz0pvunbiased = 0;
   el_hastrack = 0;
   trig_EF_el_EF_e24vhi_medium1=0;
   trig_EF_el_EF_e60_medium1=0;
   trig_EF_el_n=0;
   trig_EF_el_eta=0;
   trig_EF_el_phi=0;
   mu_hastrack = 0;
   mu_muid_E = 0;
   mu_muid_pt = 0;
   mu_muid_m = 0;
   mu_muid_eta = 0;
   mu_muid_phi = 0;
   mu_muid_px = 0;
   mu_muid_py = 0;
   mu_muid_pz = 0;
   mu_muid_charge = 0;
   mu_muid_allauthor = 0;
   mu_muid_author = 0;
   mu_muid_matchchi2 = 0;
   mu_muid_matchndof = 0;
   mu_muid_etcone20 = 0;
   mu_muid_etcone30 = 0;
   mu_muid_etcone40 = 0;
   mu_muid_nucone20 = 0;
   mu_muid_nucone30 = 0;
   mu_muid_nucone40 = 0;
   mu_muid_ptcone20 = 0;
   mu_muid_ptcone30 = 0;
   mu_muid_ptcone40 = 0;
   mu_muid_energyLossPar = 0;
   mu_muid_energyLossErr = 0;
   mu_muid_bestMatch = 0;
   mu_muid_isStandAloneMuon = 0;
   mu_muid_isSiliconAssociatedForwardMuon = 0;
   mu_muid_isCombinedMuon = 0;
   mu_muid_isLowPtReconstructedMuon = 0;
   mu_muid_loose = 0;
   mu_muid_medium = 0;
   mu_muid_tight = 0;
   mu_muid_d0_exPV = 0;
   mu_muid_z0_exPV = 0;
   mu_muid_trackd0pvunbiased = 0;
   mu_muid_trackz0pvunbiased = 0;
   mu_muid_phi_exPV = 0;
   mu_muid_theta_exPV = 0;
   mu_muid_ms_d0 = 0;
   mu_muid_ms_z0 = 0;
   mu_muid_ms_phi = 0;
   mu_muid_ms_theta = 0;
   mu_muid_ms_qoverp = 0;
   mu_muid_id_d0 = 0;
   mu_muid_id_z0 = 0;
   mu_muid_id_phi = 0;
   mu_muid_id_theta = 0;
   mu_muid_id_qoverp = 0;
   mu_muid_me_d0 = 0;
   mu_muid_me_z0 = 0;
   mu_muid_me_phi = 0;
   mu_muid_me_theta = 0;
   mu_muid_me_theta_exPV = 0;
   mu_muid_me_qoverp = 0;
   mu_muid_me_qoverp_exPV = 0;
   mu_muid_ie_d0 = 0;
   mu_muid_ie_z0 = 0;
   mu_muid_ie_phi = 0;
   mu_muid_ie_theta = 0;
   mu_muid_ie_theta_exPV = 0;
   mu_muid_ie_qoverp = 0;
   mu_muid_ie_qoverp_exPV = 0;
   mu_muid_nOutliersOnTrack = 0;
   mu_muid_nBLHits = 0;
   mu_muid_nPixHits = 0;
   mu_muid_nSCTHits = 0;
   mu_muid_nTRTHits = 0;
   mu_muid_nTRTHighTHits = 0;
   mu_muid_nBLSharedHits = 0;
   mu_muid_nPixSharedHits = 0;
   mu_muid_nPixHoles = 0;
   mu_muid_nSCTSharedHits = 0;
   mu_muid_nSCTHoles = 0;
   mu_muid_nTRTOutliers = 0;
   mu_muid_nTRTHighTOutliers = 0;

   mu_muid_nGangedPixels = 0;
   mu_muid_nPixelDeadSensors = 0;
   mu_muid_nSCTDeadSensors = 0;
   mu_muid_nTRTDeadStraws = 0;
   mu_muid_expectBLayerHit = 0;
   mu_muid_nMDTHits = 0;
   mu_muid_nMDTHoles = 0;
   mu_muid_nCSCEtaHits = 0;
   mu_muid_nCSCEtaHoles = 0;
   mu_muid_nCSCPhiHits = 0;
   mu_muid_nCSCPhiHoles = 0;
   mu_muid_nRPCEtaHits = 0;
   mu_muid_nRPCEtaHoles = 0;
   mu_muid_nRPCPhiHits = 0;
   mu_muid_nRPCPhiHoles = 0;
   mu_muid_nTGCEtaHits = 0;
   mu_muid_nTGCEtaHoles = 0;
   mu_muid_nTGCPhiHits = 0;
   mu_muid_nTGCPhiHoles = 0;

   mu_muid_trackd0 = 0;
   mu_muid_trackz0 = 0;
   mu_muid_trackfitchi2 = 0;
   mu_muid_trackfitndof = 0;
   mu_muid_hastrack = 0;

   mu_calo_E = 0;
   mu_calo_pt = 0;
   mu_calo_m = 0;
   mu_calo_eta = 0;
   mu_calo_phi = 0;
   mu_calo_px = 0;
   mu_calo_py = 0;
   mu_calo_pz = 0;
   mu_calo_charge = 0;
   mu_calo_allauthor = 0;
   mu_calo_author = 0;
   mu_calo_isMuonLikelihood = 0;
   mu_calo_etcone20 = 0;
   mu_calo_etcone30 = 0;
   mu_calo_etcone40 = 0;
   mu_calo_nucone20 = 0;
   mu_calo_nucone30 = 0;
   mu_calo_nucone40 = 0;
   mu_calo_ptcone20 = 0;
   mu_calo_ptcone30 = 0;
   mu_calo_ptcone40 = 0;
   mu_calo_etconeNoEm10 = 0;
   mu_calo_etconeNoEm20 = 0;
   mu_calo_etconeNoEm30 = 0;
   mu_calo_etconeNoEm40 = 0;
   mu_calo_scatteringCurvatureSignificance = 0;
   mu_calo_scatteringNeighbourSignificance = 0;
   mu_calo_momentumBalanceSignificance = 0;
   mu_calo_energyLossPar = 0;
   mu_calo_energyLossErr = 0;
   mu_calo_etCore = 0;
   mu_calo_energyLossType = 0;
   mu_calo_caloMuonIdTag = 0;
   mu_calo_caloLRLikelihood = 0;
   mu_calo_loose = 0;
   mu_calo_medium = 0;
   mu_calo_tight = 0;
   mu_calo_nOutliersOnTrack = 0;
   mu_calo_nBLHits = 0;
   mu_calo_nPixHits = 0;
   mu_calo_nSCTHits = 0;
   mu_calo_nTRTHits = 0;
   mu_calo_nTRTHighTHits = 0;
   mu_calo_nBLSharedHits = 0;
   mu_calo_nPixSharedHits = 0;
   mu_calo_nPixHoles = 0;
   mu_calo_nSCTSharedHits = 0;
   mu_calo_nSCTHoles = 0;
   mu_calo_nTRTOutliers = 0;
   mu_calo_nTRTHighTOutliers = 0;
   mu_calo_nGangedPixels = 0;
   mu_calo_nPixelDeadSensors = 0;
   mu_calo_nSCTDeadSensors = 0;
   mu_calo_nTRTDeadStraws = 0;
   mu_calo_expectBLayerHit = 0;
   mu_calo_nMDTHits = 0;
   mu_calo_nMDTHoles = 0;
   mu_calo_nCSCEtaHits = 0;
   mu_calo_nCSCEtaHoles = 0;
   mu_calo_nCSCUnspoiledEtaHits = 0;
   mu_calo_nCSCPhiHits = 0;
   mu_calo_nCSCPhiHoles = 0;
   mu_calo_nRPCEtaHits = 0;
   mu_calo_nRPCEtaHoles = 0;
   mu_calo_nRPCPhiHits = 0;
   mu_calo_nRPCPhiHoles = 0;
   mu_calo_nTGCEtaHits = 0;
   mu_calo_nTGCEtaHoles = 0;
   mu_calo_nTGCPhiHits = 0;
   mu_calo_nTGCPhiHoles = 0;
   mu_calo_hastrack = 0;
   mu_calo_truth_dr = 0;
   mu_calo_truth_E = 0;
   mu_calo_truth_pt = 0;
   mu_calo_truth_eta = 0;
   mu_calo_truth_phi = 0;
   mu_calo_truth_type = 0;
   mu_calo_truth_status = 0;
   mu_calo_truth_barcode = 0;
   mu_calo_truth_mothertype = 0;
   mu_calo_truth_motherbarcode = 0;
   mu_calo_truth_matched = 0;


   jet_AntiKt4TopoEM_E = 0;
   jet_AntiKt4TopoEM_pt = 0;
   jet_AntiKt4TopoEM_m = 0;
   jet_AntiKt4TopoEM_eta = 0;
   jet_AntiKt4TopoEM_phi = 0;
   jet_AntiKt4TopoEM_EtaOrigin = 0;
   jet_AntiKt4TopoEM_PhiOrigin = 0;
   jet_AntiKt4TopoEM_MOrigin = 0;
   jet_AntiKt4TopoEM_EtaOriginEM = 0;
   jet_AntiKt4TopoEM_PhiOriginEM = 0;
   jet_AntiKt4TopoEM_MOriginEM = 0;
   jet_AntiKt4TopoEM_WIDTH = 0;
   jet_AntiKt4TopoEM_n90 = 0;
   jet_AntiKt4TopoEM_Timing = 0;
   jet_AntiKt4TopoEM_LArQuality = 0;
   jet_AntiKt4TopoEM_sumPtTrk = 0;
   jet_AntiKt4TopoEM_HECQuality = 0;
   jet_AntiKt4TopoEM_NegativeE = 0;
   jet_AntiKt4TopoEM_AverageLArQF = 0;
   jet_AntiKt4TopoEM_SamplingMax = 0;
   jet_AntiKt4TopoEM_fracSamplingMax = 0;
   jet_AntiKt4TopoEM_hecf = 0;
   jet_AntiKt4TopoEM_isUgly = 0;
   jet_AntiKt4TopoEM_isBadLoose = 0;
   jet_AntiKt4TopoEM_isBadMedium = 0;
   jet_AntiKt4TopoEM_isBadTight = 0;
   jet_AntiKt4TopoEM_emfrac = 0;
   jet_AntiKt4TopoEM_EMJES = 0;
   jet_AntiKt4TopoEM_GCWJES = 0;
   jet_AntiKt4TopoEM_emscale_E = 0;
   jet_AntiKt4TopoEM_emscale_pt = 0;
   jet_AntiKt4TopoEM_emscale_m = 0;
   jet_AntiKt4TopoEM_emscale_eta = 0;
   jet_AntiKt4TopoEM_emscale_phi = 0;
   jet_AntiKt4TopoEM_jvtxf = 0;
   jet_AntiKt4TopoEM_jvtx_x = 0;
   jet_AntiKt4TopoEM_jvtx_y = 0;
   jet_AntiKt4TopoEM_jvtx_z = 0;
   jet_AntiKt4TopoEM_flavor_weight_Comb = 0;
   jet_AntiKt4TopoEM_flavor_weight_IP3D = 0;
   jet_AntiKt4TopoEM_flavor_weight_SV0 = 0;
   jet_AntiKt4TopoEM_flavor_weight_SV1 = 0;
   jet_AntiKt4TopoEM_flavor_weight_MV1 = 0;
   jet_AntiKt4TopoEM_flavor_weight_JetProb = 0;
   jet_AntiKt4TopoEM_flavor_weight_TrackCounting2D = 0;
   jet_AntiKt4TopoEM_flavor_weight_SoftMuonTag = 0;
   jet_AntiKt4TopoEM_flavor_weight_SoftElectronTag = 0;
   jet_AntiKt4TopoEM_flavor_weight_JetFitterCOMBNN = 0;
   jet_AntiKt4TopoEM_flavor_truth_label = 0;
   trig_L1_TAV = 0;
   jet_AntiKt4LCTopo_E = 0;
   jet_AntiKt4LCTopo_pt = 0;
   jet_AntiKt4LCTopo_m = 0;
   jet_AntiKt4LCTopo_eta = 0;
   jet_AntiKt4LCTopo_phi = 0;
   jet_AntiKt4LCTopo_MET_n = 0;
   jet_AntiKt4LCTopo_MET_wpx = 0;
   jet_AntiKt4LCTopo_MET_wpy = 0;
   jet_AntiKt4LCTopo_MET_wet = 0;
   jet_AntiKt4LCTopo_MET_statusWord = 0;
   jet_AntiKt4LCTopo_GCWJES = 0;
   el_MET_wpx = 0;
   el_MET_wpy = 0;
   el_MET_wet = 0;
   el_MET_statusWord = 0;
   ph_pt = 0;
   ph_eta = 0;
   ph_phi = 0;
   ph_MET_wpx = 0;
   ph_MET_wpy = 0;
   ph_MET_wet = 0;
   ph_MET_statusWord = 0;
   tau_pt = 0;     
   tau_eta = 0;    
   tau_phi = 0;    
   tau_MET_wpx = 0;
   tau_MET_wpy = 0;
   tau_MET_wet = 0;
   tau_MET_statusWord = 0;

   mu_muid_MET_wpx = 0;
   mu_muid_MET_wpy = 0;
   mu_muid_MET_wet = 0;
   mu_muid_MET_statusWord = 0;
   mu_staco_MET_wpx = 0;
   mu_staco_MET_wpy = 0;
   mu_staco_MET_wet = 0;
   mu_staco_MET_statusWord = 0;
   mu_staco_E = 0;
   mu_staco_pt = 0;
   mu_staco_m = 0;
   mu_staco_eta = 0;
   mu_staco_phi = 0;
   mu_staco_ms_phi = 0;
   mu_staco_ms_theta = 0;



   vxp_x = 0;
   vxp_y = 0;
   vxp_z = 0;
   vxp_chi2 = 0;
   vxp_px = 0;
   vxp_py = 0;
   vxp_pz = 0;
   vxp_E = 0;
   vxp_m = 0;
   vxp_nTracks = 0;
   vxp_sumPt = 0;
   vxp_type = 0;
   mcevt_weight = 0;
   // Set branch addresses and branch pointers
   if (!tree) return;
   fChain = tree;
   fChain->SetMakeClass(1);

   fChain->SetBranchAddress("RunNumber", &RunNumber, &b_RunNumber);
   fChain->SetBranchAddress("EventNumber", &EventNumber, &b_EventNumber);
   fChain->SetBranchAddress("averageIntPerXing", &averageIntPerXing, &b_averageIntPerXing);
   fChain->SetBranchAddress("mc_channel_number", &mc_channel_number, &b_mc_channel_number);
   fChain->SetBranchAddress("lbn", &lbn, &b_lbn);
   fChain->SetBranchAddress("larError", &larError, &b_larError);
   fChain->SetBranchAddress("el_n", &el_n, &b_el_n);
   fChain->SetBranchAddress("el_E", &el_E, &b_el_E);
   fChain->SetBranchAddress("el_Et", &el_Et, &b_el_Et);
   fChain->SetBranchAddress("el_pt", &el_pt, &b_el_pt);
   fChain->SetBranchAddress("el_m", &el_m, &b_el_m);
   fChain->SetBranchAddress("el_eta", &el_eta, &b_el_eta);
   fChain->SetBranchAddress("el_CaloPointing_eta", &el_CaloPointing_eta, &b_el_CaloPointing_eta);
   fChain->SetBranchAddress("el_phi", &el_phi, &b_el_phi);
   fChain->SetBranchAddress("el_px", &el_px, &b_el_px);
   fChain->SetBranchAddress("el_py", &el_py, &b_el_py);
   fChain->SetBranchAddress("el_pz", &el_pz, &b_el_pz);
   fChain->SetBranchAddress("el_charge", &el_charge, &b_el_charge);
   fChain->SetBranchAddress("el_author", &el_author, &b_el_author);
   fChain->SetBranchAddress("el_isEM", &el_isEM, &b_el_isEM);
   fChain->SetBranchAddress("el_OQ", &el_OQ, &b_el_OQ);
   fChain->SetBranchAddress("el_Ethad", &el_Ethad, &b_el_Ethad);
   fChain->SetBranchAddress("el_Ethad1", &el_Ethad1, &b_el_Ethad1);
   fChain->SetBranchAddress("el_wstot", &el_wstot, &b_el_wstot);
   fChain->SetBranchAddress("el_deltaEs", &el_deltaEs, &b_el_deltaEs);
   fChain->SetBranchAddress("el_Emax2", &el_Emax2, &b_el_Emax2);
   fChain->SetBranchAddress("el_emaxs1", &el_emaxs1, &b_el_emaxs1);
   fChain->SetBranchAddress("el_deltaeta1", &el_deltaeta1, &b_el_deltaeta1);
   fChain->SetBranchAddress("el_deltaphi2", &el_deltaphi2, &b_el_deltaphi2);
   fChain->SetBranchAddress("el_f1", &el_f1, &b_el_f1);
   fChain->SetBranchAddress("el_f3", &el_f3, &b_el_f3);
   fChain->SetBranchAddress("el_trackqoverp", &el_trackqoverp, &b_el_trackqoverp);
   fChain->SetBranchAddress("el_trackd0_physics", &el_trackd0_physics, &b_el_trackd0_physics);
   fChain->SetBranchAddress("el_TRTHighTOutliersRatio", &el_TRTHighTOutliersRatio, &b_el_TRTHighTOutliersRatio);
   fChain->SetBranchAddress("el_nTRTOutliers", &el_nTRTOutliers, &b_el_nTRTOutliers);
   fChain->SetBranchAddress("el_nSCTOutliers", &el_nSCTOutliers, &b_el_nSCTOutliers);
   fChain->SetBranchAddress("el_nPixelOutliers", &el_nPixelOutliers, &b_el_nPixelOutliers);
   fChain->SetBranchAddress("el_nBLayerOutliers", &el_nBLayerOutliers, &b_el_nBLayerOutliers);
   fChain->SetBranchAddress("el_nSiHits", &el_nSiHits, &b_el_nSiHits);
   fChain->SetBranchAddress("el_convFlag", &el_convFlag, &b_el_convFlag);
   fChain->SetBranchAddress("el_isConv", &el_isConv, &b_el_isConv);
   fChain->SetBranchAddress("el_nConv", &el_nConv, &b_el_nConv);
   fChain->SetBranchAddress("el_nSingleTrackConv", &el_nSingleTrackConv, &b_el_nSingleTrackConv);
   fChain->SetBranchAddress("el_nDoubleTrackConv", &el_nDoubleTrackConv, &b_el_nDoubleTrackConv);
   fChain->SetBranchAddress("el_loose", &el_loose, &b_el_loose);
   fChain->SetBranchAddress("el_medium", &el_medium, &b_el_medium);
   fChain->SetBranchAddress("el_mediumIso", &el_mediumIso, &b_el_mediumIso);
   fChain->SetBranchAddress("el_tight", &el_tight, &b_el_tight);
   fChain->SetBranchAddress("el_tightIso", &el_tightIso, &b_el_tightIso);
   fChain->SetBranchAddress("el_loosePP", &el_loosePP, &b_el_loosePP);
   fChain->SetBranchAddress("el_mediumPP", &el_mediumPP, &b_el_mediumPP);
   fChain->SetBranchAddress("el_tightPP", &el_tightPP, &b_el_tightPP);
   fChain->SetBranchAddress("el_weta2", &el_weta2, &b_el_weta2);
   fChain->SetBranchAddress("el_Etcone45", &el_Etcone45, &b_el_Etcone45);
   fChain->SetBranchAddress("el_Etcone20", &el_Etcone20, &b_el_Etcone20);
   fChain->SetBranchAddress("el_Etcone30", &el_Etcone30, &b_el_Etcone30);
   fChain->SetBranchAddress("el_topoEtcone30", &el_topoEtcone30, &b_el_topoEtcone30);
   fChain->SetBranchAddress("el_Etcone40", &el_Etcone40, &b_el_Etcone40);
   fChain->SetBranchAddress("el_ptcone20", &el_ptcone20, &b_el_ptcone20);
   fChain->SetBranchAddress("el_ptcone30", &el_ptcone30, &b_el_ptcone30);
   fChain->SetBranchAddress("el_Etcone40_pt_corrected", &el_Etcone40_pt_corrected, &b_el_Etcone40_pt_corrected);
   fChain->SetBranchAddress("el_expectHitInBLayer", &el_expectHitInBLayer, &b_el_expectHitInBLayer);
   fChain->SetBranchAddress("el_reta", &el_reta, &b_el_reta);
   fChain->SetBranchAddress("el_etas2", &el_etas2, &b_el_etas2);
   fChain->SetBranchAddress("el_etap", &el_etap, &b_el_etap);
   fChain->SetBranchAddress("el_cl_E", &el_cl_E, &b_el_cl_E);
   fChain->SetBranchAddress("el_ED_median", &el_ED_median, &b_el_ED_median);
   fChain->SetBranchAddress("el_cl_pt", &el_cl_pt, &b_el_cl_pt);
   fChain->SetBranchAddress("el_cl_eta", &el_cl_eta, &b_el_cl_eta);
   fChain->SetBranchAddress("el_cl_phi", &el_cl_phi, &b_el_cl_phi);
   fChain->SetBranchAddress("el_trackd0", &el_trackd0, &b_el_trackd0);
   fChain->SetBranchAddress("el_trackz0", &el_trackz0, &b_el_trackz0);
   fChain->SetBranchAddress("el_trackphi", &el_trackphi, &b_el_trackphi);
   fChain->SetBranchAddress("el_tracktheta", &el_tracktheta, &b_el_tracktheta);
   fChain->SetBranchAddress("el_tracketa", &el_tracketa, &b_el_tracketa);
   fChain->SetBranchAddress("el_nBLHits", &el_nBLHits, &b_el_nBLHits);
   fChain->SetBranchAddress("el_nPixHits", &el_nPixHits, &b_el_nPixHits);
   fChain->SetBranchAddress("el_nSCTHits", &el_nSCTHits, &b_el_nSCTHits);
   fChain->SetBranchAddress("el_nTRTHits", &el_nTRTHits, &b_el_nTRTHits);
   fChain->SetBranchAddress("el_trackd0beam", &el_trackd0beam, &b_el_trackd0beam);
   fChain->SetBranchAddress("el_tracksigd0beam", &el_tracksigd0beam, &b_el_tracksigd0beam);
   fChain->SetBranchAddress("el_trackd0pv", &el_trackd0pv, &b_el_trackd0pv);
   fChain->SetBranchAddress("el_trackz0pv", &el_trackz0pv, &b_el_trackz0pv);
   fChain->SetBranchAddress("el_tracksigd0pv", &el_tracksigd0pv, &b_el_tracksigd0pv);
   fChain->SetBranchAddress("el_tracksigz0pv", &el_tracksigz0pv, &b_el_tracksigz0pv);
   fChain->SetBranchAddress("el_trackd0pvunbiased", &el_trackd0pvunbiased, &b_el_trackd0pvunbiased);
   fChain->SetBranchAddress("el_trackz0pvunbiased", &el_trackz0pvunbiased, &b_el_trackz0pvunbiased);
   fChain->SetBranchAddress("el_tracksigd0pvunbiased", &el_tracksigd0pvunbiased, &b_el_tracksigd0pvunbiased);
   fChain->SetBranchAddress("el_tracksigz0pvunbiased", &el_tracksigz0pvunbiased, &b_el_tracksigz0pvunbiased);
   fChain->SetBranchAddress("el_hastrack", &el_hastrack, &b_el_hastrack);
   fChain->SetBranchAddress("mu_hastrack", &mu_hastrack, &b_mu_hastrack);
   fChain->SetBranchAddress("EF_e20_medium", &EF_e20_medium, &b_EF_e20_medium);
   fChain->SetBranchAddress("EF_e24vhi_medium1", &EF_e24vhi_medium1, &b_EF_e24vhi_medium1);
   fChain->SetBranchAddress("EF_e60_medium1", &EF_e60_medium1, &b_EF_e60_medium1);
   fChain->SetBranchAddress("EF_e22_medium", &EF_e22_medium, &b_EF_e22_medium);
   fChain->SetBranchAddress("EF_e22vh_medium1", &EF_e22vh_medium1, &b_EF_e22vh_medium1);
   fChain->SetBranchAddress("EF_e45_medium1", &EF_e45_medium1, &b_EF_e45_medium1);
   fChain->SetBranchAddress("EF_e10_medium", &EF_e10_medium, &b_EF_e10_medium);
   fChain->SetBranchAddress("trig_EF_el_EF_e24vhi_medium1", &trig_EF_el_EF_e24vhi_medium1, &b_trig_EF_el_EF_e24vhi_medium1);
   fChain->SetBranchAddress("trig_EF_el_EF_e60_medium1", &trig_EF_el_EF_e60_medium1, &b_trig_EF_el_EF_e60_medium1);
   fChain->SetBranchAddress("trig_EF_el_n", &trig_EF_el_n, &b_trig_EF_el_n);
   fChain->SetBranchAddress("trig_EF_el_eta", &trig_EF_el_eta, &b_trig_EF_el_eta);
   fChain->SetBranchAddress("trig_EF_el_phi", &trig_EF_el_phi, &b_trig_EF_el_phi);
   fChain->SetBranchAddress("EF_mu18", &EF_mu18, &b_EF_mu18);
   fChain->SetBranchAddress("EF_mu18_MG", &EF_mu18_MG, &b_EF_mu18_MG);
   fChain->SetBranchAddress("EF_mu18_MG_medium", &EF_mu18_MG_medium, &b_EF_mu18_MG_medium);
   fChain->SetBranchAddress("EF_mu24i_tight", &EF_mu24i_tight, &b_EF_mu24i_tight);
   fChain->SetBranchAddress("EF_mu36_tight", &EF_mu36_tight, &b_EF_mu36_tight);
   fChain->SetBranchAddress("EF_mu40_MSonly_barrel", &EF_mu40_MSonly_barrel, &b_EF_mu40_MSonly_barrel);
   fChain->SetBranchAddress("EF_mu20", &EF_mu20, &b_EF_mu20);
   fChain->SetBranchAddress("EF_mu22_MG", &EF_mu22_MG, &b_EF_mu22_MG);
   fChain->SetBranchAddress("EF_xe80T_tclcw_loose", &EF_xe80T_tclcw_loose, &b_EF_xe80T_tclcw_loose);
   fChain->SetBranchAddress("EF_xe80_tclcw_loose", &EF_xe80_tclcw_loose, &b_EF_xe80_tclcw_loose);
   fChain->SetBranchAddress("mu_muid_n", &mu_muid_n, &b_mu_muid_n);
   fChain->SetBranchAddress("mu_muid_E", &mu_muid_E, &b_mu_muid_E);
   fChain->SetBranchAddress("mu_muid_pt", &mu_muid_pt, &b_mu_muid_pt);
   fChain->SetBranchAddress("mu_muid_m", &mu_muid_m, &b_mu_muid_m);
   fChain->SetBranchAddress("mu_muid_eta", &mu_muid_eta, &b_mu_muid_eta);
   fChain->SetBranchAddress("mu_muid_phi", &mu_muid_phi, &b_mu_muid_phi);
   fChain->SetBranchAddress("mu_muid_px", &mu_muid_px, &b_mu_muid_px);
   fChain->SetBranchAddress("mu_muid_py", &mu_muid_py, &b_mu_muid_py);
   fChain->SetBranchAddress("mu_muid_pz", &mu_muid_pz, &b_mu_muid_pz);
   fChain->SetBranchAddress("mu_muid_charge", &mu_muid_charge, &b_mu_muid_charge);
   fChain->SetBranchAddress("mu_muid_allauthor", &mu_muid_allauthor, &b_mu_muid_allauthor);
   fChain->SetBranchAddress("mu_muid_author", &mu_muid_author, &b_mu_muid_author);
   fChain->SetBranchAddress("mu_muid_matchchi2", &mu_muid_matchchi2, &b_mu_muid_matchchi2);
   fChain->SetBranchAddress("mu_muid_matchndof", &mu_muid_matchndof, &b_mu_muid_matchndof);
   fChain->SetBranchAddress("mu_muid_etcone20", &mu_muid_etcone20, &b_mu_muid_etcone20);
   fChain->SetBranchAddress("mu_muid_etcone30", &mu_muid_etcone30, &b_mu_muid_etcone30);
   fChain->SetBranchAddress("mu_muid_etcone40", &mu_muid_etcone40, &b_mu_muid_etcone40);
   fChain->SetBranchAddress("mu_muid_nucone20", &mu_muid_nucone20, &b_mu_muid_nucone20);
   fChain->SetBranchAddress("mu_muid_nucone30", &mu_muid_nucone30, &b_mu_muid_nucone30);
   fChain->SetBranchAddress("mu_muid_nucone40", &mu_muid_nucone40, &b_mu_muid_nucone40);
   fChain->SetBranchAddress("mu_muid_ptcone20", &mu_muid_ptcone20, &b_mu_muid_ptcone20);
   fChain->SetBranchAddress("mu_muid_ptcone30", &mu_muid_ptcone30, &b_mu_muid_ptcone30);
   fChain->SetBranchAddress("mu_muid_ptcone40", &mu_muid_ptcone40, &b_mu_muid_ptcone40);
   fChain->SetBranchAddress("mu_muid_energyLossPar", &mu_muid_energyLossPar, &b_mu_muid_energyLossPar);
   fChain->SetBranchAddress("mu_muid_energyLossErr", &mu_muid_energyLossErr, &b_mu_muid_energyLossErr);
   fChain->SetBranchAddress("mu_muid_bestMatch", &mu_muid_bestMatch, &b_mu_muid_bestMatch);
   fChain->SetBranchAddress("mu_muid_isStandAloneMuon", &mu_muid_isStandAloneMuon, &b_mu_muid_isStandAloneMuon);
   fChain->SetBranchAddress("mu_muid_isSiliconAssociatedForwardMuon", &mu_muid_isSiliconAssociatedForwardMuon, &b_mu_muid_isSiliconAssociatedForwardMuon);
   fChain->SetBranchAddress("mu_muid_isCombinedMuon", &mu_muid_isCombinedMuon, &b_mu_muid_isCombinedMuon);
   fChain->SetBranchAddress("mu_muid_isLowPtReconstructedMuon", &mu_muid_isLowPtReconstructedMuon, &b_mu_muid_isLowPtReconstructedMuon);
   fChain->SetBranchAddress("mu_muid_loose", &mu_muid_loose, &b_mu_muid_loose);
   fChain->SetBranchAddress("mu_muid_medium", &mu_muid_medium, &b_mu_muid_medium);
   fChain->SetBranchAddress("mu_muid_tight", &mu_muid_tight, &b_mu_muid_tight);
   fChain->SetBranchAddress("mu_muid_d0_exPV", &mu_muid_d0_exPV, &b_mu_muid_d0_exPV);
   fChain->SetBranchAddress("mu_muid_z0_exPV", &mu_muid_z0_exPV, &b_mu_muid_z0_exPV);
   fChain->SetBranchAddress("mu_muid_trackd0pvunbiased", &mu_muid_trackd0pvunbiased, &b_mu_muid_trackd0pvunbiased);
   fChain->SetBranchAddress("mu_muid_trackz0pvunbiased", &mu_muid_trackz0pvunbiased, &b_mu_muid_trackz0pvunbiased);
   fChain->SetBranchAddress("mu_muid_phi_exPV", &mu_muid_phi_exPV, &b_mu_muid_phi_exPV);
   fChain->SetBranchAddress("mu_muid_theta_exPV", &mu_muid_theta_exPV, &b_mu_muid_theta_exPV);
   fChain->SetBranchAddress("mu_muid_ms_d0", &mu_muid_ms_d0, &b_mu_muid_ms_d0);
   fChain->SetBranchAddress("mu_muid_ms_z0", &mu_muid_ms_z0, &b_mu_muid_ms_z0);
   fChain->SetBranchAddress("mu_muid_ms_phi", &mu_muid_ms_phi, &b_mu_muid_ms_phi);
   fChain->SetBranchAddress("mu_muid_ms_theta", &mu_muid_ms_theta, &b_mu_muid_ms_theta);
   fChain->SetBranchAddress("mu_muid_ms_qoverp", &mu_muid_ms_qoverp, &b_mu_muid_ms_qoverp);
   fChain->SetBranchAddress("mu_muid_id_d0", &mu_muid_id_d0, &b_mu_muid_id_d0);
   fChain->SetBranchAddress("mu_muid_id_z0", &mu_muid_id_z0, &b_mu_muid_id_z0);
   fChain->SetBranchAddress("mu_muid_id_phi", &mu_muid_id_phi, &b_mu_muid_id_phi);
   fChain->SetBranchAddress("mu_muid_id_theta", &mu_muid_id_theta, &b_mu_muid_id_theta);
   fChain->SetBranchAddress("mu_muid_id_qoverp", &mu_muid_id_qoverp, &b_mu_muid_id_qoverp);
   fChain->SetBranchAddress("mu_muid_me_d0", &mu_muid_me_d0, &b_mu_muid_me_d0);
   fChain->SetBranchAddress("mu_muid_me_z0", &mu_muid_me_z0, &b_mu_muid_me_z0);
   fChain->SetBranchAddress("mu_muid_me_phi", &mu_muid_me_phi, &b_mu_muid_me_phi);
   fChain->SetBranchAddress("mu_muid_me_theta", &mu_muid_me_theta, &b_mu_muid_me_theta);
   fChain->SetBranchAddress("mu_muid_me_theta_exPV", &mu_muid_me_theta_exPV, &b_mu_muid_me_theta_exPV);
   fChain->SetBranchAddress("mu_muid_me_qoverp", &mu_muid_me_qoverp, &b_mu_muid_me_qoverp);
   fChain->SetBranchAddress("mu_muid_me_qoverp_exPV", &mu_muid_me_qoverp_exPV, &b_mu_muid_me_qoverp_exPV);
   fChain->SetBranchAddress("mu_muid_ie_d0", &mu_muid_ie_d0, &b_mu_muid_ie_d0);
   fChain->SetBranchAddress("mu_muid_ie_z0", &mu_muid_ie_z0, &b_mu_muid_ie_z0);
   fChain->SetBranchAddress("mu_muid_ie_phi", &mu_muid_ie_phi, &b_mu_muid_ie_phi);
   fChain->SetBranchAddress("mu_muid_ie_theta", &mu_muid_ie_theta, &b_mu_muid_ie_theta);
   fChain->SetBranchAddress("mu_muid_ie_theta_exPV", &mu_muid_ie_theta_exPV, &b_mu_muid_ie_theta_exPV);
   fChain->SetBranchAddress("mu_muid_ie_qoverp", &mu_muid_ie_qoverp, &b_mu_muid_ie_qoverp);
   fChain->SetBranchAddress("mu_muid_ie_qoverp_exPV", &mu_muid_ie_qoverp_exPV, &b_mu_muid_ie_qoverp_exPV);
   fChain->SetBranchAddress("mu_muid_nOutliersOnTrack", &mu_muid_nOutliersOnTrack, &b_mu_muid_nOutliersOnTrack);
   fChain->SetBranchAddress("mu_muid_nBLHits", &mu_muid_nBLHits, &b_mu_muid_nBLHits);
   fChain->SetBranchAddress("mu_muid_nPixHits", &mu_muid_nPixHits, &b_mu_muid_nPixHits);
   fChain->SetBranchAddress("mu_muid_nSCTHits", &mu_muid_nSCTHits, &b_mu_muid_nSCTHits);
   fChain->SetBranchAddress("mu_muid_nTRTHits", &mu_muid_nTRTHits, &b_mu_muid_nTRTHits);
   fChain->SetBranchAddress("mu_muid_nTRTHighTHits", &mu_muid_nTRTHighTHits, &b_mu_muid_nTRTHighTHits);
   fChain->SetBranchAddress("mu_muid_nBLSharedHits", &mu_muid_nBLSharedHits, &b_mu_muid_nBLSharedHits);
   fChain->SetBranchAddress("mu_muid_nPixSharedHits", &mu_muid_nPixSharedHits, &b_mu_muid_nPixSharedHits);
   fChain->SetBranchAddress("mu_muid_nPixHoles", &mu_muid_nPixHoles, &b_mu_muid_nPixHoles);
   fChain->SetBranchAddress("mu_muid_nSCTSharedHits", &mu_muid_nSCTSharedHits, &b_mu_muid_nSCTSharedHits);
   fChain->SetBranchAddress("mu_muid_nSCTHoles", &mu_muid_nSCTHoles, &b_mu_muid_nSCTHoles);
   fChain->SetBranchAddress("mu_muid_nTRTOutliers", &mu_muid_nTRTOutliers, &b_mu_muid_nTRTOutliers);
   fChain->SetBranchAddress("mu_muid_nTRTHighTOutliers", &mu_muid_nTRTHighTOutliers, &b_mu_muid_nTRTHighTOutliers);

   fChain->SetBranchAddress("mu_muid_nGangedPixels", &mu_muid_nGangedPixels, &b_mu_muid_nGangedPixels);
   fChain->SetBranchAddress("mu_muid_nPixelDeadSensors", &mu_muid_nPixelDeadSensors, &b_mu_muid_nPixelDeadSensors);
   fChain->SetBranchAddress("mu_muid_nSCTDeadSensors", &mu_muid_nSCTDeadSensors, &b_mu_muid_nSCTDeadSensors);
   fChain->SetBranchAddress("mu_muid_nTRTDeadStraws", &mu_muid_nTRTDeadStraws, &b_mu_muid_nTRTDeadStraws);
   fChain->SetBranchAddress("mu_muid_expectBLayerHit", &mu_muid_expectBLayerHit, &b_mu_muid_expectBLayerHit);
   fChain->SetBranchAddress("mu_muid_nMDTHits", &mu_muid_nMDTHits, &b_mu_muid_nMDTHits);
   fChain->SetBranchAddress("mu_muid_nMDTHoles", &mu_muid_nMDTHoles, &b_mu_muid_nMDTHoles);
   fChain->SetBranchAddress("mu_muid_nCSCEtaHits", &mu_muid_nCSCEtaHits, &b_mu_muid_nCSCEtaHits);
   fChain->SetBranchAddress("mu_muid_nCSCEtaHoles", &mu_muid_nCSCEtaHoles, &b_mu_muid_nCSCEtaHoles);
   fChain->SetBranchAddress("mu_muid_nCSCPhiHits", &mu_muid_nCSCPhiHits, &b_mu_muid_nCSCPhiHits);
   fChain->SetBranchAddress("mu_muid_nCSCPhiHoles", &mu_muid_nCSCPhiHoles, &b_mu_muid_nCSCPhiHoles);
   fChain->SetBranchAddress("mu_muid_nRPCEtaHits", &mu_muid_nRPCEtaHits, &b_mu_muid_nRPCEtaHits);
   fChain->SetBranchAddress("mu_muid_nRPCEtaHoles", &mu_muid_nRPCEtaHoles, &b_mu_muid_nRPCEtaHoles);
   fChain->SetBranchAddress("mu_muid_nRPCPhiHits", &mu_muid_nRPCPhiHits, &b_mu_muid_nRPCPhiHits);
   fChain->SetBranchAddress("mu_muid_nRPCPhiHoles", &mu_muid_nRPCPhiHoles, &b_mu_muid_nRPCPhiHoles);
   fChain->SetBranchAddress("mu_muid_nTGCEtaHits", &mu_muid_nTGCEtaHits, &b_mu_muid_nTGCEtaHits);
   fChain->SetBranchAddress("mu_muid_nTGCEtaHoles", &mu_muid_nTGCEtaHoles, &b_mu_muid_nTGCEtaHoles);
   fChain->SetBranchAddress("mu_muid_nTGCPhiHits", &mu_muid_nTGCPhiHits, &b_mu_muid_nTGCPhiHits);
   fChain->SetBranchAddress("mu_muid_nTGCPhiHoles", &mu_muid_nTGCPhiHoles, &b_mu_muid_nTGCPhiHoles);

   fChain->SetBranchAddress("mu_muid_trackd0", &mu_muid_trackd0, &b_mu_muid_trackd0);
   fChain->SetBranchAddress("mu_muid_trackz0", &mu_muid_trackz0, &b_mu_muid_trackz0);
   fChain->SetBranchAddress("mu_muid_trackfitchi2", &mu_muid_trackfitchi2, &b_mu_muid_trackfitchi2);
   fChain->SetBranchAddress("mu_muid_trackfitndof", &mu_muid_trackfitndof, &b_mu_muid_trackfitndof);
   fChain->SetBranchAddress("mu_muid_hastrack", &mu_muid_hastrack, &b_mu_muid_hastrack);

   fChain->SetBranchAddress("mu_calo_n", &mu_calo_n, &b_mu_calo_n);
   fChain->SetBranchAddress("mu_calo_E", &mu_calo_E, &b_mu_calo_E);
   fChain->SetBranchAddress("mu_calo_pt", &mu_calo_pt, &b_mu_calo_pt);
   fChain->SetBranchAddress("mu_calo_m", &mu_calo_m, &b_mu_calo_m);
   fChain->SetBranchAddress("mu_calo_eta", &mu_calo_eta, &b_mu_calo_eta);
   fChain->SetBranchAddress("mu_calo_phi", &mu_calo_phi, &b_mu_calo_phi);
   fChain->SetBranchAddress("mu_calo_px", &mu_calo_px, &b_mu_calo_px);
   fChain->SetBranchAddress("mu_calo_py", &mu_calo_py, &b_mu_calo_py);
   fChain->SetBranchAddress("mu_calo_pz", &mu_calo_pz, &b_mu_calo_pz);
   fChain->SetBranchAddress("mu_calo_charge", &mu_calo_charge, &b_mu_calo_charge);
   fChain->SetBranchAddress("mu_calo_allauthor", &mu_calo_allauthor, &b_mu_calo_allauthor);
   fChain->SetBranchAddress("mu_calo_author", &mu_calo_author, &b_mu_calo_author);
   fChain->SetBranchAddress("mu_calo_isMuonLikelihood", &mu_calo_isMuonLikelihood, &b_mu_calo_isMuonLikelihood);
   fChain->SetBranchAddress("mu_calo_etcone20", &mu_calo_etcone20, &b_mu_calo_etcone20);
   fChain->SetBranchAddress("mu_calo_etcone30", &mu_calo_etcone30, &b_mu_calo_etcone30);
   fChain->SetBranchAddress("mu_calo_etcone40", &mu_calo_etcone40, &b_mu_calo_etcone40);
   fChain->SetBranchAddress("mu_calo_nucone20", &mu_calo_nucone20, &b_mu_calo_nucone20);
   fChain->SetBranchAddress("mu_calo_nucone30", &mu_calo_nucone30, &b_mu_calo_nucone30);
   fChain->SetBranchAddress("mu_calo_nucone40", &mu_calo_nucone40, &b_mu_calo_nucone40);
   fChain->SetBranchAddress("mu_calo_ptcone20", &mu_calo_ptcone20, &b_mu_calo_ptcone20);
   fChain->SetBranchAddress("mu_calo_ptcone30", &mu_calo_ptcone30, &b_mu_calo_ptcone30);
   fChain->SetBranchAddress("mu_calo_ptcone40", &mu_calo_ptcone40, &b_mu_calo_ptcone40);
   fChain->SetBranchAddress("mu_calo_etconeNoEm10", &mu_calo_etconeNoEm10, &b_mu_calo_etconeNoEm10);
   fChain->SetBranchAddress("mu_calo_etconeNoEm20", &mu_calo_etconeNoEm20, &b_mu_calo_etconeNoEm20);
   fChain->SetBranchAddress("mu_calo_etconeNoEm30", &mu_calo_etconeNoEm30, &b_mu_calo_etconeNoEm30);
   fChain->SetBranchAddress("mu_calo_etconeNoEm40", &mu_calo_etconeNoEm40, &b_mu_calo_etconeNoEm40);
   fChain->SetBranchAddress("mu_calo_scatteringCurvatureSignificance", &mu_calo_scatteringCurvatureSignificance, &b_mu_calo_scatteringCurvatureSignificance);
   fChain->SetBranchAddress("mu_calo_scatteringNeighbourSignificance", &mu_calo_scatteringNeighbourSignificance, &b_mu_calo_scatteringNeighbourSignificance);
   fChain->SetBranchAddress("mu_calo_momentumBalanceSignificance", &mu_calo_momentumBalanceSignificance, &b_mu_calo_momentumBalanceSignificance);
   fChain->SetBranchAddress("mu_calo_energyLossPar", &mu_calo_energyLossPar, &b_mu_calo_energyLossPar);
   fChain->SetBranchAddress("mu_calo_energyLossErr", &mu_calo_energyLossErr, &b_mu_calo_energyLossErr);
   fChain->SetBranchAddress("mu_calo_etCore", &mu_calo_etCore, &b_mu_calo_etCore);
   fChain->SetBranchAddress("mu_calo_energyLossType", &mu_calo_energyLossType, &b_mu_calo_energyLossType);
   fChain->SetBranchAddress("mu_calo_caloMuonIdTag", &mu_calo_caloMuonIdTag, &b_mu_calo_caloMuonIdTag);
   fChain->SetBranchAddress("mu_calo_caloLRLikelihood", &mu_calo_caloLRLikelihood, &b_mu_calo_caloLRLikelihood);
   fChain->SetBranchAddress("mu_calo_loose", &mu_calo_loose, &b_mu_calo_loose);
   fChain->SetBranchAddress("mu_calo_medium", &mu_calo_medium, &b_mu_calo_medium);
   fChain->SetBranchAddress("mu_calo_tight", &mu_calo_tight, &b_mu_calo_tight);
   fChain->SetBranchAddress("mu_calo_nOutliersOnTrack", &mu_calo_nOutliersOnTrack, &b_mu_calo_nOutliersOnTrack);
   fChain->SetBranchAddress("mu_calo_nBLHits", &mu_calo_nBLHits, &b_mu_calo_nBLHits);
   fChain->SetBranchAddress("mu_calo_nPixHits", &mu_calo_nPixHits, &b_mu_calo_nPixHits);
   fChain->SetBranchAddress("mu_calo_nSCTHits", &mu_calo_nSCTHits, &b_mu_calo_nSCTHits);
   fChain->SetBranchAddress("mu_calo_nTRTHits", &mu_calo_nTRTHits, &b_mu_calo_nTRTHits);
   fChain->SetBranchAddress("mu_calo_nTRTHighTHits", &mu_calo_nTRTHighTHits, &b_mu_calo_nTRTHighTHits);
   fChain->SetBranchAddress("mu_calo_nBLSharedHits", &mu_calo_nBLSharedHits, &b_mu_calo_nBLSharedHits);
   fChain->SetBranchAddress("mu_calo_nPixSharedHits", &mu_calo_nPixSharedHits, &b_mu_calo_nPixSharedHits);
   fChain->SetBranchAddress("mu_calo_nPixHoles", &mu_calo_nPixHoles, &b_mu_calo_nPixHoles);
   fChain->SetBranchAddress("mu_calo_nSCTSharedHits", &mu_calo_nSCTSharedHits, &b_mu_calo_nSCTSharedHits);
   fChain->SetBranchAddress("mu_calo_nSCTHoles", &mu_calo_nSCTHoles, &b_mu_calo_nSCTHoles);
   fChain->SetBranchAddress("mu_calo_nTRTOutliers", &mu_calo_nTRTOutliers, &b_mu_calo_nTRTOutliers);
   fChain->SetBranchAddress("mu_calo_nTRTHighTOutliers", &mu_calo_nTRTHighTOutliers, &b_mu_calo_nTRTHighTOutliers);
   fChain->SetBranchAddress("mu_calo_nGangedPixels", &mu_calo_nGangedPixels, &b_mu_calo_nGangedPixels);
   fChain->SetBranchAddress("mu_calo_nPixelDeadSensors", &mu_calo_nPixelDeadSensors, &b_mu_calo_nPixelDeadSensors);
   fChain->SetBranchAddress("mu_calo_nSCTDeadSensors", &mu_calo_nSCTDeadSensors, &b_mu_calo_nSCTDeadSensors);
   fChain->SetBranchAddress("mu_calo_nTRTDeadStraws", &mu_calo_nTRTDeadStraws, &b_mu_calo_nTRTDeadStraws);
   fChain->SetBranchAddress("mu_calo_expectBLayerHit", &mu_calo_expectBLayerHit, &b_mu_calo_expectBLayerHit);
   fChain->SetBranchAddress("mu_calo_nMDTHits", &mu_calo_nMDTHits, &b_mu_calo_nMDTHits);
   fChain->SetBranchAddress("mu_calo_nMDTHoles", &mu_calo_nMDTHoles, &b_mu_calo_nMDTHoles);
   fChain->SetBranchAddress("mu_calo_nCSCEtaHits", &mu_calo_nCSCEtaHits, &b_mu_calo_nCSCEtaHits);
   fChain->SetBranchAddress("mu_calo_nCSCEtaHoles", &mu_calo_nCSCEtaHoles, &b_mu_calo_nCSCEtaHoles);
   fChain->SetBranchAddress("mu_calo_nCSCUnspoiledEtaHits", &mu_calo_nCSCUnspoiledEtaHits, &b_mu_calo_nCSCUnspoiledEtaHits);
   fChain->SetBranchAddress("mu_calo_nCSCPhiHits", &mu_calo_nCSCPhiHits, &b_mu_calo_nCSCPhiHits);
   fChain->SetBranchAddress("mu_calo_nCSCPhiHoles", &mu_calo_nCSCPhiHoles, &b_mu_calo_nCSCPhiHoles);
   fChain->SetBranchAddress("mu_calo_nRPCEtaHits", &mu_calo_nRPCEtaHits, &b_mu_calo_nRPCEtaHits);
   fChain->SetBranchAddress("mu_calo_nRPCEtaHoles", &mu_calo_nRPCEtaHoles, &b_mu_calo_nRPCEtaHoles);
   fChain->SetBranchAddress("mu_calo_nRPCPhiHits", &mu_calo_nRPCPhiHits, &b_mu_calo_nRPCPhiHits);
   fChain->SetBranchAddress("mu_calo_nRPCPhiHoles", &mu_calo_nRPCPhiHoles, &b_mu_calo_nRPCPhiHoles);
   fChain->SetBranchAddress("mu_calo_nTGCEtaHits", &mu_calo_nTGCEtaHits, &b_mu_calo_nTGCEtaHits);
   fChain->SetBranchAddress("mu_calo_nTGCEtaHoles", &mu_calo_nTGCEtaHoles, &b_mu_calo_nTGCEtaHoles);
   fChain->SetBranchAddress("mu_calo_nTGCPhiHits", &mu_calo_nTGCPhiHits, &b_mu_calo_nTGCPhiHits);
   fChain->SetBranchAddress("mu_calo_nTGCPhiHoles", &mu_calo_nTGCPhiHoles, &b_mu_calo_nTGCPhiHoles);
   fChain->SetBranchAddress("mu_calo_hastrack", &mu_calo_hastrack, &b_mu_calo_hastrack);
   fChain->SetBranchAddress("mu_calo_truth_dr", &mu_calo_truth_dr, &b_mu_calo_truth_dr);
   fChain->SetBranchAddress("mu_calo_truth_E", &mu_calo_truth_E, &b_mu_calo_truth_E);
   fChain->SetBranchAddress("mu_calo_truth_pt", &mu_calo_truth_pt, &b_mu_calo_truth_pt);
   fChain->SetBranchAddress("mu_calo_truth_eta", &mu_calo_truth_eta, &b_mu_calo_truth_eta);
   fChain->SetBranchAddress("mu_calo_truth_phi", &mu_calo_truth_phi, &b_mu_calo_truth_phi);
   fChain->SetBranchAddress("mu_calo_truth_type", &mu_calo_truth_type, &b_mu_calo_truth_type);
   fChain->SetBranchAddress("mu_calo_truth_status", &mu_calo_truth_status, &b_mu_calo_truth_status);
   fChain->SetBranchAddress("mu_calo_truth_barcode", &mu_calo_truth_barcode, &b_mu_calo_truth_barcode);
   fChain->SetBranchAddress("mu_calo_truth_mothertype", &mu_calo_truth_mothertype, &b_mu_calo_truth_mothertype);
   fChain->SetBranchAddress("mu_calo_truth_motherbarcode", &mu_calo_truth_motherbarcode, &b_mu_calo_truth_motherbarcode);
   fChain->SetBranchAddress("mu_calo_truth_matched", &mu_calo_truth_matched, &b_mu_calo_truth_matched);

   fChain->SetBranchAddress("jet_AntiKt4TopoEM_n", &jet_AntiKt4TopoEM_n, &b_jet_AntiKt4TopoEM_n);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_E", &jet_AntiKt4TopoEM_E, &b_jet_AntiKt4TopoEM_E);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_pt", &jet_AntiKt4TopoEM_pt, &b_jet_AntiKt4TopoEM_pt);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_m", &jet_AntiKt4TopoEM_m, &b_jet_AntiKt4TopoEM_m);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_eta", &jet_AntiKt4TopoEM_eta, &b_jet_AntiKt4TopoEM_eta);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_phi", &jet_AntiKt4TopoEM_phi, &b_jet_AntiKt4TopoEM_phi);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_EtaOrigin", &jet_AntiKt4TopoEM_EtaOrigin, &b_jet_AntiKt4TopoEM_EtaOrigin);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_PhiOrigin", &jet_AntiKt4TopoEM_PhiOrigin, &b_jet_AntiKt4TopoEM_PhiOrigin);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_MOrigin", &jet_AntiKt4TopoEM_MOrigin, &b_jet_AntiKt4TopoEM_MOrigin);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_EtaOriginEM", &jet_AntiKt4TopoEM_EtaOriginEM, &b_jet_AntiKt4TopoEM_EtaOriginEM);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_PhiOriginEM", &jet_AntiKt4TopoEM_PhiOriginEM, &b_jet_AntiKt4TopoEM_PhiOriginEM);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_MOriginEM", &jet_AntiKt4TopoEM_MOriginEM, &b_jet_AntiKt4TopoEM_MOriginEM);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_WIDTH", &jet_AntiKt4TopoEM_WIDTH, &b_jet_AntiKt4TopoEM_WIDTH);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_n90", &jet_AntiKt4TopoEM_n90, &b_jet_AntiKt4TopoEM_n90);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_Timing", &jet_AntiKt4TopoEM_Timing, &b_jet_AntiKt4TopoEM_Timing);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_LArQuality", &jet_AntiKt4TopoEM_LArQuality, &b_jet_AntiKt4TopoEM_LArQuality);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_sumPtTrk", &jet_AntiKt4TopoEM_sumPtTrk, &b_jet_AntiKt4TopoEM_sumPtTrk);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_HECQuality", &jet_AntiKt4TopoEM_HECQuality, &b_jet_AntiKt4TopoEM_HECQuality);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_NegativeE", &jet_AntiKt4TopoEM_NegativeE, &b_jet_AntiKt4TopoEM_NegativeE);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_AverageLArQF", &jet_AntiKt4TopoEM_AverageLArQF, &b_jet_AntiKt4TopoEM_AverageLArQF);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_SamplingMax", &jet_AntiKt4TopoEM_SamplingMax, &b_jet_AntiKt4TopoEM_SamplingMax);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_fracSamplingMax", &jet_AntiKt4TopoEM_fracSamplingMax, &b_jet_AntiKt4TopoEM_fracSamplingMax);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_hecf", &jet_AntiKt4TopoEM_hecf, &b_jet_AntiKt4TopoEM_hecf);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_isUgly", &jet_AntiKt4TopoEM_isUgly, &b_jet_AntiKt4TopoEM_isUgly);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_isBadLoose", &jet_AntiKt4TopoEM_isBadLoose, &b_jet_AntiKt4TopoEM_isBadLoose);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_isBadMedium", &jet_AntiKt4TopoEM_isBadMedium, &b_jet_AntiKt4TopoEM_isBadMedium);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_isBadTight", &jet_AntiKt4TopoEM_isBadTight, &b_jet_AntiKt4TopoEM_isBadTight);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_emfrac", &jet_AntiKt4TopoEM_emfrac, &b_jet_AntiKt4TopoEM_emfrac);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_EMJES", &jet_AntiKt4TopoEM_EMJES, &b_jet_AntiKt4TopoEM_EMJES);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_GCWJES", &jet_AntiKt4TopoEM_GCWJES, &b_jet_AntiKt4TopoEM_GCWJES);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_emscale_E", &jet_AntiKt4TopoEM_emscale_E, &b_jet_AntiKt4TopoEM_emscale_E);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_emscale_pt", &jet_AntiKt4TopoEM_emscale_pt, &b_jet_AntiKt4TopoEM_emscale_pt);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_emscale_m", &jet_AntiKt4TopoEM_emscale_m, &b_jet_AntiKt4TopoEM_emscale_m);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_emscale_eta", &jet_AntiKt4TopoEM_emscale_eta, &b_jet_AntiKt4TopoEM_emscale_eta);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_emscale_phi", &jet_AntiKt4TopoEM_emscale_phi, &b_jet_AntiKt4TopoEM_emscale_phi);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_jvtxf", &jet_AntiKt4TopoEM_jvtxf, &b_jet_AntiKt4TopoEM_jvtxf);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_jvtx_x", &jet_AntiKt4TopoEM_jvtx_x, &b_jet_AntiKt4TopoEM_jvtx_x);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_jvtx_y", &jet_AntiKt4TopoEM_jvtx_y, &b_jet_AntiKt4TopoEM_jvtx_y);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_jvtx_z", &jet_AntiKt4TopoEM_jvtx_z, &b_jet_AntiKt4TopoEM_jvtx_z);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_Comb", &jet_AntiKt4TopoEM_flavor_weight_Comb, &b_jet_AntiKt4TopoEM_flavor_weight_Comb);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_IP3D", &jet_AntiKt4TopoEM_flavor_weight_IP3D, &b_jet_AntiKt4TopoEM_flavor_weight_IP3D);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_SV0", &jet_AntiKt4TopoEM_flavor_weight_SV0, &b_jet_AntiKt4TopoEM_flavor_weight_SV0);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_SV1", &jet_AntiKt4TopoEM_flavor_weight_SV1, &b_jet_AntiKt4TopoEM_flavor_weight_SV1);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_MV1", &jet_AntiKt4TopoEM_flavor_weight_MV1, &b_jet_AntiKt4TopoEM_flavor_weight_MV1);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_JetProb", &jet_AntiKt4TopoEM_flavor_weight_JetProb, &b_jet_AntiKt4TopoEM_flavor_weight_JetProb);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_TrackCounting2D", &jet_AntiKt4TopoEM_flavor_weight_TrackCounting2D, &b_jet_AntiKt4TopoEM_flavor_weight_TrackCounting2D);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_SoftMuonTag", &jet_AntiKt4TopoEM_flavor_weight_SoftMuonTag, &b_jet_AntiKt4TopoEM_flavor_weight_SoftMuonTag);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_SoftElectronTag", &jet_AntiKt4TopoEM_flavor_weight_SoftElectronTag, &b_jet_AntiKt4TopoEM_flavor_weight_SoftElectronTag);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_weight_JetFitterCOMBNN", &jet_AntiKt4TopoEM_flavor_weight_JetFitterCOMBNN, &b_jet_AntiKt4TopoEM_flavor_weight_JetFitterCOMBNN);
   fChain->SetBranchAddress("jet_AntiKt4TopoEM_flavor_truth_label", &jet_AntiKt4TopoEM_flavor_truth_label, &b_jet_AntiKt4TopoEM_flavor_truth_label);
   fChain->SetBranchAddress("trig_L1_TAV", &trig_L1_TAV, &b_trig_L1_TAV);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_n", &jet_AntiKt4LCTopo_n, &b_jet_AntiKt4LCTopo_n);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_E", &jet_AntiKt4LCTopo_E, &b_jet_AntiKt4LCTopo_E);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_pt", &jet_AntiKt4LCTopo_pt, &b_jet_AntiKt4LCTopo_pt);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_m", &jet_AntiKt4LCTopo_m, &b_jet_AntiKt4LCTopo_m);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_eta", &jet_AntiKt4LCTopo_eta, &b_jet_AntiKt4LCTopo_eta);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_phi", &jet_AntiKt4LCTopo_phi, &b_jet_AntiKt4LCTopo_phi);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_MET_n", &jet_AntiKt4LCTopo_MET_n, &b_jet_AntiKt4LCTopo_MET_n);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_MET_wpx", &jet_AntiKt4LCTopo_MET_wpx, &b_jet_AntiKt4LCTopo_MET_wpx);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_MET_wpy", &jet_AntiKt4LCTopo_MET_wpy, &b_jet_AntiKt4LCTopo_MET_wpy);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_MET_wet", &jet_AntiKt4LCTopo_MET_wet, &b_jet_AntiKt4LCTopo_MET_wet);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_MET_statusWord", &jet_AntiKt4LCTopo_MET_statusWord, &b_jet_AntiKt4LCTopo_MET_statusWord);
   fChain->SetBranchAddress("jet_AntiKt4LCTopo_GCWJES", &jet_AntiKt4LCTopo_GCWJES, &b_jet_AntiKt4LCTopo_GCWJES);
   fChain->SetBranchAddress("el_MET_wpx", &el_MET_wpx, &b_el_MET_wpx);
   fChain->SetBranchAddress("el_MET_wpy", &el_MET_wpy, &b_el_MET_wpy);
   fChain->SetBranchAddress("el_MET_wet", &el_MET_wet, &b_el_MET_wet);
   fChain->SetBranchAddress("el_MET_statusWord", &el_MET_statusWord, &b_el_MET_statusWord);
   fChain->SetBranchAddress("ph_pt", &ph_pt, &b_ph_pt);
   fChain->SetBranchAddress("ph_eta", &ph_eta, &b_ph_eta);
   fChain->SetBranchAddress("ph_phi", &ph_phi, &b_ph_phi);
   fChain->SetBranchAddress("ph_MET_wpx", &ph_MET_wpx, &b_ph_MET_wpx);
   fChain->SetBranchAddress("ph_MET_wpy", &ph_MET_wpy, &b_ph_MET_wpy);
   fChain->SetBranchAddress("ph_MET_wet", &ph_MET_wet, &b_ph_MET_wet);
   fChain->SetBranchAddress("ph_MET_statusWord", &ph_MET_statusWord, &b_ph_MET_statusWord);
   fChain->SetBranchAddress("tau_pt", &tau_pt, &b_tau_pt);
   fChain->SetBranchAddress("tau_eta", &tau_eta, &b_tau_eta);
   fChain->SetBranchAddress("tau_phi", &tau_phi, &b_tau_phi);
   fChain->SetBranchAddress("tau_MET_wpx", &tau_MET_wpx, &b_tau_MET_wpx);
   fChain->SetBranchAddress("tau_MET_wpy", &tau_MET_wpy, &b_tau_MET_wpy);
   fChain->SetBranchAddress("tau_MET_wet", &tau_MET_wet, &b_tau_MET_wet);
   fChain->SetBranchAddress("tau_MET_statusWord", &tau_MET_statusWord, &b_tau_MET_statusWord);
   fChain->SetBranchAddress("MET_RefTau_phi", &MET_RefTau_phi, &b_MET_RefTau_phi);
   fChain->SetBranchAddress("MET_RefTau_et", &MET_RefTau_et, &b_MET_RefTau_et);
   fChain->SetBranchAddress("MET_RefTau_sumet", &MET_RefTau_sumet, &b_MET_RefTau_sumet);
   fChain->SetBranchAddress("mu_muid_MET_wpx", &mu_muid_MET_wpx, &b_mu_muid_MET_wpx);
   fChain->SetBranchAddress("mu_muid_MET_wpy", &mu_muid_MET_wpy, &b_mu_muid_MET_wpy);
   fChain->SetBranchAddress("mu_muid_MET_wet", &mu_muid_MET_wet, &b_mu_muid_MET_wet);
   fChain->SetBranchAddress("mu_muid_MET_statusWord", &mu_muid_MET_statusWord, &b_mu_muid_MET_statusWord);
   fChain->SetBranchAddress("mu_staco_MET_wpx", &mu_staco_MET_wpx, &b_mu_staco_MET_wpx);
   fChain->SetBranchAddress("mu_staco_MET_wpy", &mu_staco_MET_wpy, &b_mu_staco_MET_wpy);
   fChain->SetBranchAddress("mu_staco_MET_wet", &mu_staco_MET_wet, &b_mu_staco_MET_wet);
   fChain->SetBranchAddress("mu_staco_MET_statusWord", &mu_staco_MET_statusWord, &b_mu_staco_MET_statusWord);

   fChain->SetBranchAddress("MET_RefMuon_phi", &MET_RefMuon_phi, &b_MET_RefMuon_phi);
   fChain->SetBranchAddress("MET_RefMuon_et", &MET_RefMuon_et, &b_MET_RefMuon_et);
   fChain->SetBranchAddress("MET_RefMuon_sumet", &MET_RefMuon_sumet, &b_MET_RefMuon_sumet);
   fChain->SetBranchAddress("mu_staco_n", &mu_staco_n, &b_mu_staco_n);
   fChain->SetBranchAddress("mu_staco_E", &mu_staco_E, &b_mu_staco_E);
   fChain->SetBranchAddress("mu_staco_pt", &mu_staco_pt, &b_mu_staco_pt);
   fChain->SetBranchAddress("mu_staco_m", &mu_staco_m, &b_mu_staco_m);
   fChain->SetBranchAddress("mu_staco_eta", &mu_staco_eta, &b_mu_staco_eta);
   fChain->SetBranchAddress("mu_staco_phi", &mu_staco_phi, &b_mu_staco_phi);
   fChain->SetBranchAddress("mu_staco_ms_phi", &mu_staco_ms_phi, &b_mu_staco_ms_phi);
   fChain->SetBranchAddress("mu_staco_ms_theta", &mu_staco_ms_theta, &b_mu_staco_ms_theta);




   fChain->SetBranchAddress("MET_CellOut_phi", &MET_CellOut_phi, &b_MET_CellOut_phi);
   fChain->SetBranchAddress("MET_CellOut_et", &MET_CellOut_et, &b_MET_CellOut_et);
   fChain->SetBranchAddress("MET_CellOut_sumet", &MET_CellOut_sumet, &b_MET_CellOut_sumet);

   fChain->SetBranchAddress("top_hfor_type", &top_hfor_type, &b_top_hfor_type);
   fChain->SetBranchAddress("MET_RefMuon_Track_Muid_phi", &MET_RefMuon_Track_Muid_phi, &b_MET_RefMuon_Track_Muid_phi);
   fChain->SetBranchAddress("MET_RefMuon_Track_Muid_et", &MET_RefMuon_Track_Muid_et, &b_MET_RefMuon_Track_Muid_et);
   fChain->SetBranchAddress("MET_RefMuon_Track_Muid_sumet", &MET_RefMuon_Track_Muid_sumet, &b_MET_RefMuon_Track_Muid_sumet);
   fChain->SetBranchAddress("MET_LocHadTopo_phi", &MET_LocHadTopo_phi, &b_MET_LocHadTopo_phi);
   fChain->SetBranchAddress("MET_LocHadTopo_et", &MET_LocHadTopo_et, &b_MET_LocHadTopo_et);
   fChain->SetBranchAddress("MET_LocHadTopo_sumet", &MET_LocHadTopo_sumet, &b_MET_LocHadTopo_sumet);
   fChain->SetBranchAddress("MET_LocHadTopo_etx_FCAL", &MET_LocHadTopo_etx_FCAL, &b_MET_LocHadTopo_etx_FCAL);
   fChain->SetBranchAddress("MET_LocHadTopo_ety_FCAL", &MET_LocHadTopo_ety_FCAL, &b_MET_LocHadTopo_ety_FCAL);
   fChain->SetBranchAddress("MET_LocHadTopo_sumet_FCAL", &MET_LocHadTopo_sumet_FCAL, &b_MET_LocHadTopo_sumet_FCAL);
   fChain->SetBranchAddress("MET_LocHadTopo_phi_FCAL", &MET_LocHadTopo_phi_FCAL, &b_MET_LocHadTopo_phi_FCAL);
   fChain->SetBranchAddress("MET_LocHadTopo_etx_CentralReg", &MET_LocHadTopo_etx_CentralReg, &b_MET_LocHadTopo_etx_CentralReg);
   fChain->SetBranchAddress("MET_LocHadTopo_ety_CentralReg", &MET_LocHadTopo_ety_CentralReg, &b_MET_LocHadTopo_ety_CentralReg);
   fChain->SetBranchAddress("MET_LocHadTopo_sumet_CentralReg", &MET_LocHadTopo_sumet_CentralReg, &b_MET_LocHadTopo_sumet_CentralReg);
   fChain->SetBranchAddress("MET_LocHadTopo_phi_CentralReg", &MET_LocHadTopo_phi_CentralReg, &b_MET_LocHadTopo_phi_CentralReg);
   fChain->SetBranchAddress("MET_LocHadTopo_etx_EndcapRegion", &MET_LocHadTopo_etx_EndcapRegion, &b_MET_LocHadTopo_etx_EndcapRegion);
   fChain->SetBranchAddress("MET_LocHadTopo_ety_EndcapRegion", &MET_LocHadTopo_ety_EndcapRegion, &b_MET_LocHadTopo_ety_EndcapRegion);
   fChain->SetBranchAddress("MET_LocHadTopo_sumet_EndcapRegion", &MET_LocHadTopo_sumet_EndcapRegion, &b_MET_LocHadTopo_sumet_EndcapRegion);
   fChain->SetBranchAddress("MET_LocHadTopo_phi_EndcapRegion", &MET_LocHadTopo_phi_EndcapRegion, &b_MET_LocHadTopo_phi_EndcapRegion);
   fChain->SetBranchAddress("MET_LocHadTopo_etx_ForwardReg", &MET_LocHadTopo_etx_ForwardReg, &b_MET_LocHadTopo_etx_ForwardReg);
   fChain->SetBranchAddress("MET_LocHadTopo_ety_ForwardReg", &MET_LocHadTopo_ety_ForwardReg, &b_MET_LocHadTopo_ety_ForwardReg);
   fChain->SetBranchAddress("MET_LocHadTopo_sumet_ForwardReg", &MET_LocHadTopo_sumet_ForwardReg, &b_MET_LocHadTopo_sumet_ForwardReg);
   fChain->SetBranchAddress("MET_LocHadTopo_phi_ForwardReg", &MET_LocHadTopo_phi_ForwardReg, &b_MET_LocHadTopo_phi_ForwardReg);

   fChain->SetBranchAddress("MET_RefFinal_phi", &MET_RefFinal_phi, &b_MET_RefFinal_phi);
   fChain->SetBranchAddress("MET_RefFinal_et", &MET_RefFinal_et, &b_MET_RefFinal_et);
   fChain->SetBranchAddress("MET_RefFinal_sumet", &MET_RefFinal_sumet, &b_MET_RefFinal_sumet);
   fChain->SetBranchAddress("MET_RefFinal_etx_CentralReg", &MET_RefFinal_etx_CentralReg, &b_MET_RefFinal_etx_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_ety_CentralReg", &MET_RefFinal_ety_CentralReg, &b_MET_RefFinal_ety_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_sumet_CentralReg", &MET_RefFinal_sumet_CentralReg, &b_MET_RefFinal_sumet_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_phi_CentralReg", &MET_RefFinal_phi_CentralReg, &b_MET_RefFinal_phi_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_etx_EndcapRegion", &MET_RefFinal_etx_EndcapRegion, &b_MET_RefFinal_etx_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_ety_EndcapRegion", &MET_RefFinal_ety_EndcapRegion, &b_MET_RefFinal_ety_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_sumet_EndcapRegion", &MET_RefFinal_sumet_EndcapRegion, &b_MET_RefFinal_sumet_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_phi_EndcapRegion", &MET_RefFinal_phi_EndcapRegion, &b_MET_RefFinal_phi_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_etx_ForwardReg", &MET_RefFinal_etx_ForwardReg, &b_MET_RefFinal_etx_ForwardReg);
   fChain->SetBranchAddress("MET_RefFinal_ety_ForwardReg", &MET_RefFinal_ety_ForwardReg, &b_MET_RefFinal_ety_ForwardReg);
   fChain->SetBranchAddress("MET_RefFinal_sumet_ForwardReg", &MET_RefFinal_sumet_ForwardReg, &b_MET_RefFinal_sumet_ForwardReg);
   fChain->SetBranchAddress("MET_RefFinal_phi_ForwardReg", &MET_RefFinal_phi_ForwardReg, &b_MET_RefFinal_phi_ForwardReg);

   fChain->SetBranchAddress("MET_Track_phi", &MET_Track_phi, &b_MET_Track_phi);
   fChain->SetBranchAddress("MET_Track_et", &MET_Track_et, &b_MET_Track_et);
   fChain->SetBranchAddress("MET_Track_sumet", &MET_Track_sumet, &b_MET_Track_sumet);
   fChain->SetBranchAddress("MET_Track_etx_CentralReg", &MET_Track_etx_CentralReg, &b_MET_Track_etx_CentralReg);
   fChain->SetBranchAddress("MET_Track_ety_CentralReg", &MET_Track_ety_CentralReg, &b_MET_Track_ety_CentralReg);
   fChain->SetBranchAddress("MET_Track_sumet_CentralReg", &MET_Track_sumet_CentralReg, &b_MET_Track_sumet_CentralReg);
   fChain->SetBranchAddress("MET_Track_phi_CentralReg", &MET_Track_phi_CentralReg, &b_MET_Track_phi_CentralReg);
   fChain->SetBranchAddress("MET_Track_etx_EndcapRegion", &MET_Track_etx_EndcapRegion, &b_MET_Track_etx_EndcapRegion);
   fChain->SetBranchAddress("MET_Track_ety_EndcapRegion", &MET_Track_ety_EndcapRegion, &b_MET_Track_ety_EndcapRegion);
   fChain->SetBranchAddress("MET_Track_sumet_EndcapRegion", &MET_Track_sumet_EndcapRegion, &b_MET_Track_sumet_EndcapRegion);
   fChain->SetBranchAddress("MET_Track_phi_EndcapRegion", &MET_Track_phi_EndcapRegion, &b_MET_Track_phi_EndcapRegion);
   fChain->SetBranchAddress("MET_Track_etx_ForwardReg", &MET_Track_etx_ForwardReg, &b_MET_Track_etx_ForwardReg);
   fChain->SetBranchAddress("MET_Track_ety_ForwardReg", &MET_Track_ety_ForwardReg, &b_MET_Track_ety_ForwardReg);
   fChain->SetBranchAddress("MET_Track_sumet_ForwardReg", &MET_Track_sumet_ForwardReg, &b_MET_Track_sumet_ForwardReg);
   fChain->SetBranchAddress("MET_Track_phi_ForwardReg", &MET_Track_phi_ForwardReg, &b_MET_Track_phi_ForwardReg);


   fChain->SetBranchAddress("MET_SoftJets_phi", &MET_SoftJets_phi, &b_MET_SoftJets_phi);
   fChain->SetBranchAddress("MET_SoftJets_et", &MET_SoftJets_et, &b_MET_SoftJets_et);
   fChain->SetBranchAddress("MET_SoftJets_sumet", &MET_SoftJets_sumet, &b_MET_SoftJets_sumet);
   fChain->SetBranchAddress("MET_SoftJets_etx_CentralReg", &MET_SoftJets_etx_CentralReg, &b_MET_SoftJets_etx_CentralReg);
   fChain->SetBranchAddress("MET_SoftJets_ety_CentralReg", &MET_SoftJets_ety_CentralReg, &b_MET_SoftJets_ety_CentralReg);
   fChain->SetBranchAddress("MET_SoftJets_sumet_CentralReg", &MET_SoftJets_sumet_CentralReg, &b_MET_SoftJets_sumet_CentralReg);
   fChain->SetBranchAddress("MET_SoftJets_phi_CentralReg", &MET_SoftJets_phi_CentralReg, &b_MET_SoftJets_phi_CentralReg);
   fChain->SetBranchAddress("MET_SoftJets_etx_EndcapRegion", &MET_SoftJets_etx_EndcapRegion, &b_MET_SoftJets_etx_EndcapRegion);
   fChain->SetBranchAddress("MET_SoftJets_ety_EndcapRegion", &MET_SoftJets_ety_EndcapRegion, &b_MET_SoftJets_ety_EndcapRegion);
   fChain->SetBranchAddress("MET_SoftJets_sumet_EndcapRegion", &MET_SoftJets_sumet_EndcapRegion, &b_MET_SoftJets_sumet_EndcapRegion);
   fChain->SetBranchAddress("MET_SoftJets_phi_EndcapRegion", &MET_SoftJets_phi_EndcapRegion, &b_MET_SoftJets_phi_EndcapRegion);
   fChain->SetBranchAddress("MET_SoftJets_etx_ForwardReg", &MET_SoftJets_etx_ForwardReg, &b_MET_SoftJets_etx_ForwardReg);
   fChain->SetBranchAddress("MET_SoftJets_ety_ForwardReg", &MET_SoftJets_ety_ForwardReg, &b_MET_SoftJets_ety_ForwardReg);
   fChain->SetBranchAddress("MET_SoftJets_sumet_ForwardReg", &MET_SoftJets_sumet_ForwardReg, &b_MET_SoftJets_sumet_ForwardReg);
   fChain->SetBranchAddress("MET_SoftJets_phi_ForwardReg", &MET_SoftJets_phi_ForwardReg, &b_MET_SoftJets_phi_ForwardReg);

   fChain->SetBranchAddress("MET_Truth_NonInt_etx", &MET_Truth_NonInt_etx, &b_MET_Truth_NonInt_etx);
   fChain->SetBranchAddress("MET_Truth_NonInt_ety", &MET_Truth_NonInt_ety, &b_MET_Truth_NonInt_ety);
   fChain->SetBranchAddress("MET_Truth_NonInt_phi", &MET_Truth_NonInt_phi, &b_MET_Truth_NonInt_phi);
   fChain->SetBranchAddress("MET_Truth_NonInt_et", &MET_Truth_NonInt_et, &b_MET_Truth_NonInt_et);
   fChain->SetBranchAddress("MET_Truth_NonInt_sumet", &MET_Truth_NonInt_sumet, &b_MET_Truth_NonInt_sumet);


   fChain->SetBranchAddress("MET_RefJet_phi", &MET_RefJet_phi, &b_MET_RefJet_phi);
   fChain->SetBranchAddress("MET_RefJet_et", &MET_RefJet_et, &b_MET_RefJet_et);
   fChain->SetBranchAddress("MET_RefJet_sumet", &MET_RefJet_sumet, &b_MET_RefJet_sumet);
   fChain->SetBranchAddress("MET_RefJet_etx_CentralReg", &MET_RefJet_etx_CentralReg, &b_MET_RefJet_etx_CentralReg);
   fChain->SetBranchAddress("MET_RefJet_ety_CentralReg", &MET_RefJet_ety_CentralReg, &b_MET_RefJet_ety_CentralReg);
   fChain->SetBranchAddress("MET_RefJet_sumet_CentralReg", &MET_RefJet_sumet_CentralReg, &b_MET_RefJet_sumet_CentralReg);
   fChain->SetBranchAddress("MET_RefJet_phi_CentralReg", &MET_RefJet_phi_CentralReg, &b_MET_RefJet_phi_CentralReg);
   fChain->SetBranchAddress("MET_RefJet_etx_EndcapRegion", &MET_RefJet_etx_EndcapRegion, &b_MET_RefJet_etx_EndcapRegion);
   fChain->SetBranchAddress("MET_RefJet_ety_EndcapRegion", &MET_RefJet_ety_EndcapRegion, &b_MET_RefJet_ety_EndcapRegion);
   fChain->SetBranchAddress("MET_RefJet_sumet_EndcapRegion", &MET_RefJet_sumet_EndcapRegion, &b_MET_RefJet_sumet_EndcapRegion);
   fChain->SetBranchAddress("MET_RefJet_phi_EndcapRegion", &MET_RefJet_phi_EndcapRegion, &b_MET_RefJet_phi_EndcapRegion);
   fChain->SetBranchAddress("MET_RefJet_etx_ForwardReg", &MET_RefJet_etx_ForwardReg, &b_MET_RefJet_etx_ForwardReg);
   fChain->SetBranchAddress("MET_RefJet_ety_ForwardReg", &MET_RefJet_ety_ForwardReg, &b_MET_RefJet_ety_ForwardReg);
   fChain->SetBranchAddress("MET_RefJet_sumet_ForwardReg", &MET_RefJet_sumet_ForwardReg, &b_MET_RefJet_sumet_ForwardReg);
   fChain->SetBranchAddress("MET_RefJet_phi_ForwardReg", &MET_RefJet_phi_ForwardReg, &b_MET_RefJet_phi_ForwardReg);


   fChain->SetBranchAddress("MET_CellOut_Eflow_phi", &MET_CellOut_Eflow_phi, &b_MET_CellOut_Eflow_phi);
   fChain->SetBranchAddress("MET_CellOut_Eflow_et", &MET_CellOut_Eflow_et, &b_MET_CellOut_Eflow_et);
   fChain->SetBranchAddress("MET_CellOut_Eflow_sumet", &MET_CellOut_Eflow_sumet, &b_MET_CellOut_Eflow_sumet);
   fChain->SetBranchAddress("MET_CellOut_Eflow_etx_CentralReg", &MET_CellOut_Eflow_etx_CentralReg, &b_MET_CellOut_Eflow_etx_CentralReg);
   fChain->SetBranchAddress("MET_CellOut_Eflow_ety_CentralReg", &MET_CellOut_Eflow_ety_CentralReg, &b_MET_CellOut_Eflow_ety_CentralReg);
   fChain->SetBranchAddress("MET_CellOut_Eflow_sumet_CentralReg", &MET_CellOut_Eflow_sumet_CentralReg, &b_MET_CellOut_Eflow_sumet_CentralReg);
   fChain->SetBranchAddress("MET_CellOut_Eflow_phi_CentralReg", &MET_CellOut_Eflow_phi_CentralReg, &b_MET_CellOut_Eflow_phi_CentralReg);
   fChain->SetBranchAddress("MET_CellOut_Eflow_etx_EndcapRegion", &MET_CellOut_Eflow_etx_EndcapRegion, &b_MET_CellOut_Eflow_etx_EndcapRegion);
   fChain->SetBranchAddress("MET_CellOut_Eflow_ety_EndcapRegion", &MET_CellOut_Eflow_ety_EndcapRegion, &b_MET_CellOut_Eflow_ety_EndcapRegion);
   fChain->SetBranchAddress("MET_CellOut_Eflow_sumet_EndcapRegion", &MET_CellOut_Eflow_sumet_EndcapRegion, &b_MET_CellOut_Eflow_sumet_EndcapRegion);
   fChain->SetBranchAddress("MET_CellOut_Eflow_phi_EndcapRegion", &MET_CellOut_Eflow_phi_EndcapRegion, &b_MET_CellOut_Eflow_phi_EndcapRegion);
   fChain->SetBranchAddress("MET_CellOut_Eflow_etx_ForwardReg", &MET_CellOut_Eflow_etx_ForwardReg, &b_MET_CellOut_Eflow_etx_ForwardReg);
   fChain->SetBranchAddress("MET_CellOut_Eflow_ety_ForwardReg", &MET_CellOut_Eflow_ety_ForwardReg, &b_MET_CellOut_Eflow_ety_ForwardReg);
   fChain->SetBranchAddress("MET_CellOut_Eflow_sumet_ForwardReg", &MET_CellOut_Eflow_sumet_ForwardReg, &b_MET_CellOut_Eflow_sumet_ForwardReg);
   fChain->SetBranchAddress("MET_CellOut_Eflow_phi_ForwardReg", &MET_CellOut_Eflow_phi_ForwardReg, &b_MET_CellOut_Eflow_phi_ForwardReg);

   fChain->SetBranchAddress("MET_RefFinal_STVF_phi", &MET_RefFinal_STVF_phi, &b_MET_RefFinal_STVF_phi);
   fChain->SetBranchAddress("MET_RefFinal_STVF_et", &MET_RefFinal_STVF_et, &b_MET_RefFinal_STVF_et);
   fChain->SetBranchAddress("MET_RefFinal_STVF_sumet", &MET_RefFinal_STVF_sumet, &b_MET_RefFinal_STVF_sumet);
   fChain->SetBranchAddress("MET_RefFinal_STVF_etx_CentralReg", &MET_RefFinal_STVF_etx_CentralReg, &b_MET_RefFinal_STVF_etx_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_STVF_ety_CentralReg", &MET_RefFinal_STVF_ety_CentralReg, &b_MET_RefFinal_STVF_ety_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_STVF_sumet_CentralReg", &MET_RefFinal_STVF_sumet_CentralReg, &b_MET_RefFinal_STVF_sumet_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_STVF_phi_CentralReg", &MET_RefFinal_STVF_phi_CentralReg, &b_MET_RefFinal_STVF_phi_CentralReg);
   fChain->SetBranchAddress("MET_RefFinal_STVF_etx_EndcapRegion", &MET_RefFinal_STVF_etx_EndcapRegion, &b_MET_RefFinal_STVF_etx_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_STVF_ety_EndcapRegion", &MET_RefFinal_STVF_ety_EndcapRegion, &b_MET_RefFinal_STVF_ety_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_STVF_sumet_EndcapRegion", &MET_RefFinal_STVF_sumet_EndcapRegion, &b_MET_RefFinal_STVF_sumet_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_STVF_phi_EndcapRegion", &MET_RefFinal_STVF_phi_EndcapRegion, &b_MET_RefFinal_STVF_phi_EndcapRegion);
   fChain->SetBranchAddress("MET_RefFinal_STVF_etx_ForwardReg", &MET_RefFinal_STVF_etx_ForwardReg, &b_MET_RefFinal_STVF_etx_ForwardReg);
   fChain->SetBranchAddress("MET_RefFinal_STVF_ety_ForwardReg", &MET_RefFinal_STVF_ety_ForwardReg, &b_MET_RefFinal_STVF_ety_ForwardReg);
   fChain->SetBranchAddress("MET_RefFinal_STVF_sumet_ForwardReg", &MET_RefFinal_STVF_sumet_ForwardReg, &b_MET_RefFinal_STVF_sumet_ForwardReg);
   fChain->SetBranchAddress("MET_RefFinal_STVF_phi_ForwardReg", &MET_RefFinal_STVF_phi_ForwardReg, &b_MET_RefFinal_STVF_phi_ForwardReg);



   fChain->SetBranchAddress("vxp_n", &vxp_n, &b_vxp_n);
   fChain->SetBranchAddress("vxp_x", &vxp_x, &b_vxp_x);
   fChain->SetBranchAddress("vxp_y", &vxp_y, &b_vxp_y);
   fChain->SetBranchAddress("vxp_z", &vxp_z, &b_vxp_z);
   fChain->SetBranchAddress("vxp_chi2", &vxp_chi2, &b_vxp_chi2);
   fChain->SetBranchAddress("vxp_px", &vxp_px, &b_vxp_px);
   fChain->SetBranchAddress("vxp_py", &vxp_py, &b_vxp_py);
   fChain->SetBranchAddress("vxp_pz", &vxp_pz, &b_vxp_pz);
   fChain->SetBranchAddress("vxp_E", &vxp_E, &b_vxp_E);
   fChain->SetBranchAddress("vxp_m", &vxp_m, &b_vxp_m);
   fChain->SetBranchAddress("vxp_nTracks", &vxp_nTracks, &b_vxp_nTracks);
   fChain->SetBranchAddress("vxp_sumPt", &vxp_sumPt, &b_vxp_sumPt);
   fChain->SetBranchAddress("vxp_type", &vxp_type, &b_vxp_type);
   fChain->SetBranchAddress("mcevt_weight", &mcevt_weight, &b_mcevt_weight);
}

Bool_t physics::Notify()
{
   // The Notify() function is called when a new file is opened. This
   // can be either for a new TTree in a TChain or when when a new TTree
   // is started when using PROOF. It is normally not necessary to make changes
   // to the generated code, but the routine can be extended by the
   // user if needed. The return value is currently not used.

   return kTRUE;
}

#endif // #ifdef physics_cxx
